美文网首页
线程的stop() 和suspend()

线程的stop() 和suspend()

作者: willcoder | 来源:发表于2019-06-07 01:17 被阅读0次

stop这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会导致对象处于不一致的状态。假如一个方法在将钱从一个账户转移到另一个账户的过程中,
在取款之后存款之前就停止了。那么现在银行对象就被破坏了。因为锁已经被释放了。当线程想终止另一个线程的时候,它无法知道何时调用stop是安全的,
何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。


suspend不会破坏对象。但是,如果你用一个suspend挂起一个有锁的线程,那么在锁恢复之前将不会被释放。如果调用suspend的方法线程试图取得相同的锁,程序就会死锁。


两个方法都不推荐用,需要暂停线程一般用线程的sleep(),Object的wait()

相关文章

  • 线程的stop() 和suspend()

    stop这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会...

  • Java错误的停止线程的方法

    1. 被弃用的 stop、suspend 和 resume 方法 用 stop() 来停止线程,会导致线程运行一半...

  • 线程的基本操作

    线程的基本操作 •线程状态切换 •终止线程(stop) •中断线程(interrupt) •挂起(suspend)...

  • Java线程中断机制

    线程中断机制 线程中断是个技术活,1.1版本的stop、resume和suspend方法,分别对应线程暂停、再利用...

  • 中断线程

    interrupt的作用是终断本线程,stop和suspend是固有不安全的,所以禁止使用。 线程处于阻塞状态,调...

  • 5-10 错误停止线程的方法

    一、使用被弃用的stop,suspend和resume方法 2,suspendsuspend会让一个线程挂起,在该...

  • 身为JAVA工作者必须了解的实战知识(六)

    Java没有提供任何机制来安全地(抢占式方法)终止线程,虽然Thread.stop和suspend等方法提供了这样...

  • Java面试基础(五)

    41、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不...

  • 线程中断机制(interrupt)

    优雅的中断线程,是一门艺术 总所周知,Thread.stop, Thread.suspend, Thread.re...

  • Java线程相关[转]

    1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推...

网友评论

      本文标题:线程的stop() 和suspend()

      本文链接:https://www.haomeiwen.com/subject/fygwtctx.html