使用多线程应注意些什么?

发布网友

我来回答

2个回答

热心网友

<1>.不要调用Thread类或Runnable对象的run方法。直接调用run方法只会执行同一个线程中的任务,而不会启动新的线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程。
<2>.interrupted和isInterrupted是两个非常相似的方法。interrupted方法是一个静态的方法。它检测当前的线程是否被中断。而且,会清除该线程的中断状态。
isInterrupted方法是一个实例方法。可用来检验是否有线程中断。调用这个方法不会改变中断状态。
<3>.interruptedException的catch字句做一些处理有什么好处的话。仍然有两种合理的选择。
void mySubTask()

{...

try{sleep(delay);}
catch(InterruptedException e) {Thread().currentThread().interrupt();}
....

}

或者用throws interruptedException标记的方法。

热心网友

ava对多线程的支持是非常强大的,他屏蔽掉了许多的技术细节,让我们可以轻松的开发多线程的应用程序。
  Java里面实现多线程,有2个方法
1 继承 Thread类
  class MyThread extends Thread {
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new MyThread().start();
  }
  }
2 实现 Runnable接口
  class MyThread implements Runnable{
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new Thread(new MyThread()).start();
  }
  }
  一般鼓励使用第二种方法,因为Java里面只允许单一继承,但允许实现多个接口。第二个方法更加灵活。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com