糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > C++主线程与子线程的关系

C++主线程与子线程的关系

时间:2023-11-01 10:55:29

相关推荐

C++主线程与子线程的关系

C++主线程与子线程的关系

一、主线程和子线程执行顺序

在C++中main函数是程序运行便会执行,即是主线程。在此之后创建的线程属于子线程。那么问题来了,主线程和子线程谁的优先级更高?

主线程总是能优先获得CPU资源,且主线程执行完后,程序(即进程)也就执行完了,这时子线程会被迫结束。

二、如何控制执行顺序

如果想要先执行子线程,然后再执行子线程应该如何做?

使用Windows.h提供的Sleep()函数。

通俗地说,当我们调用Sleep函数时,比如Sleep(100),它会提醒系统,执行它需要花费100ms,让CPU在时间片有大于等于100ms的时间时唤醒当前进程,先执行其它线程。意味着也就是放弃它剩余的时间片(就是放弃本次运行)。但是Windows操作系统并不是一个实时的操作系统,所以就算时间片大于等于100ms也并不一定执行该线程,这取决于当前CPU正在进行什么操作。

简单的理解为主线程如果开启Sleep函数,意味着放弃当前运行,让CPU先执行子线程。

TIPS:Sleep函数并不能保证线程按照某个顺序执行。线程和线程之间仍然是相互独立的执行。

如果觉得《C++主线程与子线程的关系》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。