永发信息网

C语言互斥锁的问题

答案:2  悬赏:70  手机版
解决时间 2021-02-10 12:18
#include
#include
#include
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就可以了,请问这是为什么?
最佳答案
控制台。。。还是叫终端比较好吧。帮你解决问题,首先就是父子进程通信问题,可以用文件,管道,或者socket等等,注意自己要写互斥,或加锁。然后就是关掉进程的标准输出了。代码还是要你自己写~
全部回答
是单核,但是是多线程啊,多个线程宏观上同时运行, 他们之间有共享资源,需要用互斥锁来确保不会被破坏啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今日之友,也可能变成明日之敌!因为女人因为
吸光度法测定咀嚼效率(咀嚼值),咀嚼的时间
医疗保险真的不能转吗?知道医保中心的电话吗
如何做好一个优秀的前台,如何做好一个优秀的
小红看一本240页的故事书,前3天看了24页,照这
三体2前100页概括(ಥ_ಥ)1000字左右。
wow多玩魔盒稀有boss报警怎么关
佛山三水考完车牌之后多久可以拿证
多选:韩某认为别人讲自己的坏话,想害他属于
西单明珠大厦旁的 金柜KTV怎么消费的?
She had just finished her homework
春江花月夜中诗人如何抓住月亮移动时月关变化
怎么编东西
1.5KW转速2800转220V单相异步电动机工作时扭
铁路工程地质勘察的勘察阶段应划分为()。A.预
推荐资讯
绿都丹石街区怎么去啊,有知道地址的么
为什么我玩斗地主时我的硬炸弹4个10被对方的
兴通汽车电路地址在什么地方,我要处理点事
两台总功率为8.5KW三相电机需要多大的发电机
漾波桥地址在哪,我要去那里办事
求《我的妹妹十八岁》完结TXT。
为什么太阳光总在南、北回归线之间转动快点!
对于生物体内自由水的叙述中,不正确的是BA.
创维3d 家庭影音没音是vpa747里面构造
一天,我国某城市于北京时间4时30分日出,18
中国联通手机连锁二甲第一营业厅怎么去啊,有
健康干洗店(日照街)怎么去啊,我要去那办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?