- run和start方法区别
start方法可以启动线程,线程启动后,当获取到资源后,会执行run方法。
如果直接调用run方法的话,跟普通函数一样,直接执行run方法,不启动新线程
2.sleep(int)和wait()
sleep()是Thread类的方法,会使当前线程暂停指定时间,将执行机会给其他线程,但是监控状态仍然保持,到时会自动恢复(进入就绪队列),调用sleep不会释放对象锁
wait()是Object类的方法,调用wait()方法会释放对象锁,并且进入等待锁定池,只有针对此对象发出notify或者notifyall时,此对象才会进入就绪状态准备获取对象锁进入运行状态。
Java多线程
最新推荐文章于 2024-03-10 23:38:03 发布