在主线程中创建一个子线程,如何使其进入子线程

我的意思是:如果在主线程(main())中,创建一个线程,如果没有传递值给子线程,而且创建之后,没有使用sleep(),是不是”一般情况下“子线程得到执行的机会很微小;但... 我的意思是:如果在主线程(main())中,创建一个线程,如果没有传递值给子线程,而且创建之后,没有使用sleep(),是不是”一般情况下“子线程得到执行的机会很微小;
但是主线程给子线程传递了一个值,那么是不是,创建之后cpu都会去执行子线程呢?

产生这个问题的是在学习并发服务的时候,(编写一个简单的聊天室系统),发现服务器子线程与主线程之间没有使用同步,即为什么主线程创建子线程之后,即使没有同步,子线程也可以几乎100%得到执行的机会!@!

谢谢各位!!
展开
 我来答
dragonvy
2013-01-21 · TA获得超过171个赞
知道小有建树答主
回答量:337
采纳率:50%
帮助的人:140万
展开全部
1、根据Linux进程管理的机制,不管是否给子线程传递值,子线程创建完毕后,都会得到执行;
2、主线程和子线程之间可以通过信号量、互斥量等方法进行同步;
更多追问追答
追问
谢谢!那请问windows环境下呢?
追答
windows环境下有标准的pthread库,可以同linux类似。
另外,MFC也封装了多线程的操作,也可以借鉴。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式