工作者线程的问题,设置断点发现不能顺序执行????

Caps77 2004-04-29 03:06:15
我用一个计时器,每秒启动一个工作者线程,在线程函数第一行设置断点,发现断点执行完第二行又跳到第一行,如此三次才往下走。难道是因为定时器的关系,此时有好几个全局函数的拷贝在运行??这个函数是对数据库进行操作,不用定时器,只是启动一个线程就好好的,用了以后数据库就出了问题,如何能让每次启动线程,线程函数乖乖得顺序执行?这个问题如何解决
...全文
72 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Caps77 2004-04-29
  • 打赏
  • 举报
回复
to weirdy(软件设计师) :自己发现了这个问题,呵呵,搞定了!
  • 打赏
  • 举报
回复
各个工作者线程是同时运行的
你隔10秒启动一个试试

这时同步问题
xenke 2004-04-29
  • 打赏
  • 举报
回复
将CCriticalSection g_cs定义为全局的,放在函数外面.
Caps77 2004-04-29
  • 打赏
  • 举报
回复
没有人会遇到过断点不能顺序执行的情况吗?
Caps77 2004-04-29
  • 打赏
  • 举报
回复
//线程函数体
CCriticalSection g_cs;
g_cs.Lock();
.
.
.
.
g_cs.Unlock();
分别在头和尾加,这样也不行阿,。还是狂跳不止,心都跳出来了
figer 2004-04-29
  • 打赏
  • 举报
回复
产生跳动的原因是由于你有多个线程使用此全局函数,如果想顺序的话,你可以在函数体中加入同步。
Caps77 2004-04-29
  • 打赏
  • 举报
回复
帮个忙阿,五一加班就是搞这个,现在搞完不加班,谁能让我不加班阿

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧