上图:
6.sleep和wait区别
1. sleep方法,是属于Thread类的,而wait方法是属于Object类。
2.sleep方法导致了程序暂停执行指定的时间,让出cpu的其他线程,但是他的监控状态依然保持,当到了指定的时间又会自动恢复运行状态。
3.在调用sleep方法的过程中,线程不会释放对象锁。
4.调用wait方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定吃,只有针对次对象调用notify方法,本线程才进入对象锁定池准备获取对象锁进行运行状态。
7.start和run区别
1.start方法启动线程,真正实现了多线程运行,这时无需等待run方法体执行完毕,可以直接继续执行下面的代码。
2.通过调用Thread类的start方法来启动一个线程,这时此线程处于就绪状态,并没有运行。
3.方法run称为线程体,它包含了要执行的这个线程的内容,线程就进入了运行状态,开始运行run函数当中的代码,run方法运行结束,此线程终止,然后CPU再调度其他线程。
8.Java后台线程
本文详细解析了Java中sleep与wait方法的区别,包括它们所属的类、对线程锁的影响以及对线程状态的影响等。此外还对比了start与run方法在多线程中的作用。
长文全解析&spm=1001.2101.3001.5002&articleId=109340411&d=1&t=3&u=a034679dbcc44815b000e4883c5402b8)
2万+

被折叠的 条评论
为什么被折叠?



