join为什么阻塞的是主线程呢
从join方法的源码来看,join方法的本质调用的是Object中的wait方法实现线程的阻塞,wait方法的实现原理在后续的文章中在说详细阐述。**但是我们需要知道的是,调用wait方法必须要获取锁,**所以join方法是被synchronized修饰的,synchronized修饰在很多层面相当于synchronized(this),this就说Thread本身的实例。
有很多人不理解join为什么阻塞的是主线程呢?不理解的原因是阻塞主线程的方法是放在Thread这个实例中的作用,让大家误以为应该阻塞thread线程。实际上主线程会持有thread这个对象的锁,然后调用wait方法去阻塞,而这个方法的调用者是在主线程中的。所以造成主线程阻塞。
源代码质量是什么?
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。
X 关闭
Copyright 2015-2022 科技讯版权所有 备案号:豫ICP备2021032478号-15 联系邮箱:897 18 09@qq.com