main 函数中调用CreateThread问题

auroralccy 2006-03-07 10:42:41
一个C程序,main 函数中调用CreateThread, 线程创建成功.这时是否能return 0? 若可以,此时主线程退出,子线程必然会关闭. 此时是否要调用WaitForSingleObject来挂起主线程?
...全文
152 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
striking 2006-03-07
  • 打赏
  • 举报
回复
对同一个外设操作 , 为什么要用3个子线程, 记住cpu只有一个.
auroralccy 2006-03-07
  • 打赏
  • 举报
回复
大家都对同一个外设操作,它应该是"临界资源"吧?
property1 2006-03-07
  • 打赏
  • 举报
回复
存在 临界资源 才 需要 互斥
auroralccy 2006-03-07
  • 打赏
  • 举报
回复
babam: 能留下你的联系方式吗?
YufengShi 2006-03-07
  • 打赏
  • 举报
回复
操作函数如果不是线程安全的,自己同步它.
auroralccy 2006-03-07
  • 打赏
  • 举报
回复
up
auroralccy 2006-03-07
  • 打赏
  • 举报
回复
若调用了3次CreateThread创建了3个子线程,它们都是对同一个外设操作,在这3个线程是否都要调用WaitForSingleObject来互斥? 若需要,就会出现死锁现象,因为主线程和子线程都在等待,如何避免呢? 如何实现3个子线程的互斥呢?
babam 2006-03-07
  • 打赏
  • 举报
回复
当然主程序不能退出.WaitForSingleObject是可以的.
mythay 2006-03-07
  • 打赏
  • 举报
回复
主线程调用CreateThread创建3个线程后,这三个线程都是独立的,这时候使用WaitForMultipleObjects保证主程序不在任何一个线程完成前退出。
对于启动的3个线程来说,如果需要访问临街资源,就对这个资源加锁。
auroralccy 2006-03-07
  • 打赏
  • 举报
回复
3个线程要抢占一个外设啊

15,471

社区成员

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

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