亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我把函數頭換成void就可以了,請問這是為什么?

為什么我把函數頭換成void就可以了,請問這是為什么?

C
梵蒂岡之花 2023-03-02 18:14:14
#include <stdio.h>  #include <windows.h> #include<conio.h>CRITICAL_SECTION cs;static int i;DWORD WINAPI kbinput(LPVOID pM) //把函數頭換成void {int j=0;for(j=0;j<20;j++){EnterCriticalSection(&cs);printf("%d\n",i);i++;LeaveCriticalSection(&cs);}}DWORD WINAPI kbinput1(LPVOID pM)  {int j=0;for(j=0;j<20;j++){EnterCriticalSection(&cs);printf("%d\n",i);i++;i++;LeaveCriticalSection(&cs);}}int main(){i=0;InitializeCriticalSection(&cs);HANDLE handle1 = CreateThread(NULL, 0, kbinput,NULL , 0, NULL);HANDLE handle2 = CreateThread(NULL, 0, kbinput1,NULL, 0, NULL);Sleep(1000);}上面是我寫的一個程序,他的互斥鎖不能正常運行,兩個線程完全是亂來,但是我在創建線程是把CreateThread換成_beginthread,把函數頭換成void就可以了,請問這是為什么?
查看完整描述

1 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

控制臺,還是叫終端比較好吧。幫你解決問題,首先就是父子進程通信問題,可以用文件,管道,或者socket等等,注意自己要寫互斥,或加鎖。然后就是關掉進程的標準輸出了。代碼還是要你自己寫才會有進步哈~

查看完整回答
反對 回復 2023-03-06
  • 1 回答
  • 0 關注
  • 104 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號