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

Caps77 2004-04-29 03:06:15
我用一个计时器,每秒启动一个工作者线程,在线程函数第一行设置断点,发现断点执行完第二行又跳到第一行,如此三次才往下走。难道是因为定时器的关系,此时有好几个全局函数的拷贝在运行??这个函数是对数据库进行操作,不用定时器,只是启动一个线程就好好的,用了以后数据库就出了问题,如何能让每次启动线程,线程函数乖乖得顺序执行?这个问题如何解决
...全文
30 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
帮个忙阿,五一加班就是搞这个,现在搞完不加班,谁能让我不加班阿
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL
加入

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2004-04-29 03:06
社区公告
暂无公告