黑马程序员技术交流社区

标题: 帮忙来回答一下 [打印本页]

作者: @ne_pie尒ce    时间: 2013-11-8 07:34
标题: 帮忙来回答一下
java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?
stop()suspend()方法为何不推荐使用?


作者: 敗唫①輩ふ    时间: 2013-11-8 11:16
1,有两种实现方法实现一个线程,分别使用new Thread()和new Thread(runnable)形式,第一种直接调用thread的run方法,所以,我们往往使用Thread子类,即new SubThread()。第二种调用runnable的run方法。
2,synchronized关键字修饰同步方法
3,stop这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会导致对象处于不一致的状态。假如一个方法在将钱从一个账户转移到另一个账户的过程中,在取款之后存款之前就停止了。那么现在银行对象就被破坏了。因为锁已经被释放了。当线程想终止另一个线程的时候,它无法知道何时调用stop是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2