tabuainiwoai 2016-01-29 15:49 采纳率: 100%
浏览 1461
已采纳

关于多线程的疑问,求各位大神解答

```using namespace std;

DWORD WINAPI Thread_accept (PVOID lParam)
{
cout<<"进入线程"<<endl;

return 0;

}

int main()
{
WSADATA wsaData;
WSAStartup (MAKEWORD (2, 2) ,&wsaData);

HANDLE Thread;

Thread = CreateThread ( NULL ,0 ,Thread_accept ,NULL ,0 ,NULL);

return 0;

}

为什么最后输出的时候子线程并不执行输出语句?
求各位大神解答

  • 写回答

6条回答

  • wqx_163 2016-01-30 00:59
    关注

    main函数中,仅仅是通过createthread()创建一个线程,之后的动作就是return,所以不输出子线程的内容是很正常的。
    若是你想让子线程输出内容,需要在main和子线程之间通信上做文章,
    比如,
    1. 定时探测子线程是否退出,若已退出,main再退出。
    2. 声明一个全局变量,当子线程执行时赋值为1 ,main中判断该全局变量是否已变为1,若是,则退出。
    还有很多其他方法!
    希望我的解答,对你有所启发!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘