学习笔记(10):19年并发编程及原理视频培训教程入门到精通-线程的挂起及其恢复...

Kefira ·
更新时间:2024-11-11
· 668 次阅读

立即学习:https://edu.csdn.net/course/play/9827/208787?utm_source=blogtoedu

线程的挂起跟恢复

    什么是挂起线程?

         线程的挂起操作实质上就是使线程进入“非可执行”状态下,这个状态下CPU不会分给线程时间片,进入这个状态的可以用来暂停一个线程的运行。在线程挂起后,可以通过重新唤醒线程来使之恢复运行。

    为什么要挂起线程?

    cpu分配的时间片非常短,同时也非常珍贵。避免资源的浪费。

   如何挂起线程?

被废弃的方法:

thread.suspend()

 该方法不会释放线程所占用的资源.如果使用该方法将某个线程挂起,则可能会使其他等待资源的线程死锁.

thread.resume()

方法本身并无问题,但是不能独立于suspend()方法存在.

可以使用的方法

 wait() 暂停执行,放弃已经获得的锁,进入等待状态.

notify()随机唤醒一个等待锁的线程

notifyAll()唤醒所有等待锁的线程,然后这些线程一起去抢占cpu的资源.

什么时候适合使用挂起线程?

   我等的船还不来(等待某些未就绪的资源),我等的人还不明白.直到notify方法被调用.


作者:暗沉随马



学习笔记 并发编程 并发 学习 线程 教程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号