多线程共享内存问题,真心求教
答案:2 悬赏:60
解决时间 2021-02-26 23:26
- 提问者网友:血樱陌殇
- 2021-02-26 17:44
多线程共享内存问题,真心求教
最佳答案
- 二级知识专家网友:说多了都是废话
- 2021-02-26 18:40
当然是在一个线程中执行循环,循环中创建线程那岂不是要创建很多线程。
首先写一个线程函数,当需要创建时调用AfxBeginThread传入函数名及其他相关参数,它会创建一个新线程并且返回一个CWinThread对象指针。
线程函数中的计数是定时计数把?可以建立一个循环,在中调用Sleep固定睡眠一段时间然后增加计数,大体就是:
while(true)
{
Sleep(1000);
nCount++; //计数变量
}
需要暂停时,调用SuspendThread/ResumeThread进行暂停/恢复;需要关闭时,调用TerminateThread
首先写一个线程函数,当需要创建时调用AfxBeginThread传入函数名及其他相关参数,它会创建一个新线程并且返回一个CWinThread对象指针。
线程函数中的计数是定时计数把?可以建立一个循环,在中调用Sleep固定睡眠一段时间然后增加计数,大体就是:
while(true)
{
Sleep(1000);
nCount++; //计数变量
}
需要暂停时,调用SuspendThread/ResumeThread进行暂停/恢复;需要关闭时,调用TerminateThread
全部回答
- 1楼网友:专属的偏见
- 2021-02-26 19:10
这是典型的共享数据访问冲突,多个线程都有修改同一个共享数据时,就可能造成数据错乱。
解决的方法是使用操作系统提供的同步机制,保证访问的原子性,比如互斥锁等等。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯