首页 > 文章列表 > 挂起、恢复和终止线程

挂起、恢复和终止线程

365 2025-04-03

已弃用的方法: Thread 类的 suspend()、resume() 和 stop() 在 Java 2 中已弃用。

最终无效简历( )
最终无效暂停()
最终无效停止( )

引起的问题:
挂起():可能会导致死锁。
resume(): 没有 suspend() 就无法使用。
stop():导致线程执行严重失败。

现代替代方案: 在 run() 方法中使用控制变量(标志)来:
暂停: 标志设置为“暂停”会使线程暂停。
恢复: 标志设置为“运行”使线程继续。
终止: 标志设置为“终止”使线程终止。

挂起、恢复和终止线程

Image description

挂起、恢复和终止线程

控制变量:
暂停:控制线程暂停。初始化为 false。
停止:控制线程终止。初始化为 false。

run() 方法:
包含一个同步块,用于检查挂起的变量。
如果挂起为 true,则调用 wait() 方法来挂起线程。

线程暂停:
要挂起,请调用 mysuspend() 方法,该方法将挂起设置为 true。

恢复线程:
要恢复,请调用 myresume() 方法,该方法将暂停设置为 false 并调用 notification()。

线程关闭:
最后,调用 mystop() 方法,将 stop 设置为 true。
mystop() 还将挂起设置为 false 并调用 notification() 以确保挂起的线程正确终止。

来源:https://dev.to/javagirlsjug/suspendendo-retomando-e-encerrando-threads-1hjg

本类最新

查看更多