1. 首页
  2. 课程学习
  3. Java
  4. 多线程编程中stop()和suspend()方法的安全问题

多线程编程中stop()和suspend()方法的安全问题

上传者: 2023-10-04 18:52:35上传 ZIP文件 353.82KB 热度 11次
  1. stop()和suspend()方法为何不推荐使用?stop()方法会解除线程获取的所有锁定,并且在对象处于不连贯状态时,其他线程可以检查和修改它们,造成难以检查真正问题所在的情况。suspend()方法容易出现死锁,调用suspend()方法后,目标线程会停止但仍持有之前获取的锁定,导致其他线程无法访问锁定资源,除非被挂起的线程恢复运行。因此,不推荐使用stop()和suspend()方法,而应在线程类中置入一个标志来指示线程是活动还是挂起。如果线程应该挂起,则使用wait()命令使其进入等待状态。如果线程应该恢复,则使用notify()重新启动线程。
下载地址
用户评论