请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

05.atomic_flag 线程内thrd_sleep问题

图片描述
图片描述
如图,程序启动后,打印了一个1后,就等待到这里了,google好久,没找到答案,请老师指点。

正在回答 回答被采纳积分+3

2回答

bennyhuo 2021-12-26 23:21:53

你的join那里,t传错了,不用取地址

0 回复 有任何疑惑可以回复我~
  • 提问者 dragon_w #1
    老师您好,我按您给的思路打断点后发现,进入到thread_sleep就没反应了,然后我将thread_sleep 替换为 synchapi.h 里的Sleep函数后,程序可正常运行。
    另外下面的join那里t确实写错了,但验证发现传地址进去只是无法正常等到线程返回,并不会阻塞主程序
    这个是我的thrd_sleep写法:thrd_sleep(&(struct timespec){.tv_sec=1}, NULL); // 睡眠 1 秒,您看下是哪里有问题,会导致程序没响应了,感谢!
    回复 有任何疑惑可以回复我~ 2021-12-28 11:12:36
bennyhuo 2021-12-24 16:44:42

截图看下main函数的完整内容

0 回复 有任何疑惑可以回复我~
  • 提问者 dragon_w #1
    老师您好,完整截图在问题中重新编辑了,我也将minGW替换为您网盘里共享的了,貌似还是不行
    回复 有任何疑惑可以回复我~ 2021-12-26 19:56:09
  • 奇怪了,看程序好像是没啥毛病。难道跟 windows 版本有关系么。。。。实在不行就先往后学吧,这个东西了解就行。
    回复 有任何疑惑可以回复我~ 2021-12-26 23:18:21
  • 或者你打断点看一下卡在哪里了
    回复 有任何疑惑可以回复我~ 2021-12-26 23:18:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信