自定义的线程都是在主线程中创建的,那运行的时候不应该都是主线程先运行吗?

自定义的线程都是在主线程中创建的,那运行的时候不应该都是主线程先运行吗?

自定义的线程都是在主线程中创建的,那运行的时候不应该都是主线程先运行吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

对,先运行主线程中的内容。例如

语句1
线程1
语句2
语句3
语句4

先运行语句1,执行完之后再运行线程1和语句2,语句2执行完再执行3,4。。。。这时候线程1可能同时也在运行着。祝:学习愉快

  • 执行完语句1后不一定运行线程2吧,有可能执行语句3,主线程和线程1看谁先竞争得到CPU使用权
    2018-03-27 14:23:05
  • 嗯,对的。所以说是线程1和语句2。而不是先线程1,再语句2。
    2018-03-27 14:45:13
  • 还有一个问题,老师说的时间片轮转问题, 在单核处理器中,假如时间片按1-10这个序号排列,每个时间片相同,假设有3个线程,用A,B,C分别表示,那么这三个线程的运行不一定遵循A运行一个时间片,B运行一个时间片,C运行一个时间片这样反复交替的规则吧,应该是A运行完一个时间片,然后A,B,C再竞争下一个时间片的占用权,这也就导致了,A也许可以连续运行好几个时间片,才轮到B和C运行, 不知是不是这道理
    2018-03-28 09:05:00
liqihang 2018-03-27 10:55:03

就是啊,主方法就是一个线程来运行的,你主方法里没有其他输出语句当然看不到变化,老师课程中有演示

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师