老师您好!关于语句执行顺序的问题

来源:7-3 notify方法

qtw1998

2021-03-22

老师您好!我此处有个问题:
您在9:10左右讲到的一种情况中,如果去掉Thread.sleep(200);的话,threadA threadB threadC的执行顺序是未知的,那么按照这个逻辑来讲,如果进行主线程Threadsleep(200)的话,为什么不能先执行threadC然后再执行threadA threadB然后再执行sleep(200)呢? 这个点(语句执行顺序)其实一直不是很懂,希望能得到您的教诲!谢谢老师

threadA.start();
threadB.start();
// Thread.sleep(200);
threadC.start();
写回答

1回答

悟空

2021-03-22

哦,是这样的,threadA.start()不代表线程A就开始执行,因为线程从start到执行需要一定的时间,这个不是说语句顺序颠倒,只是说start后需要等一会才能真正开始,等待时间不确定。

0
1
qtw1998
谢谢老师!
2021-03-24
共1条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程