Java中的多线程应该注意的事项

来源:互联网 发布:centos jdk yum 编辑:程序博客网 时间:2024/04/30 00:36

多线程程序在较低的层次上展现了多任务的概念:一个程序同时执行多个任务。通常,每一个任务称为一个线程,他是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序。

多进程与多线程的区别本质在于每个进程拥有自己的一套变量,而线程则共享数据。然而共享变量使线程之间的通信比进程之间的通信更有效更容易在有的系统中与进程相比更加的轻量级,创建,撤销一个线程比启动新进程的开销要小的多。

<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标记你的方法。

0 0
原创粉丝点击