JAVA多线程

来源:互联网 发布:一对一远程教学软件 编辑:程序博客网 时间:2024/06/10 05:01

通常,每一个任务称为线程,它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序。
多进程与多线程的区别,本质的区别在于每个进程都拥有自已的一整套变量,而线程则共享数据。与进程想比,线程更轻量级,开销小。
线程的中断:在java的早期版本,有stop方法,但是现在已经被废弃。
有一种强制终止线程的方法,interrupt
isinterruot方法可以检测线程是否中断,当有一个被阻塞的线程(调用sleep或wait)调用interrupt方法时,阻塞调用将会被Interrupt Exception 异常中断(存在不能被中断的阻塞IO调用,应该考虑可中断的调用)。
线程的六种状态:

new (新创建) : new一个线程,还没有运行
Runnable(可运行) :一旦调用startf方法,线程处于Runnable状态
Blocked(被阻塞) :当一个线程试图获取一个内部的对象锁,而该对象锁被其他线 程持有,则该线程进入阻塞状态。
Waiting(等待)
Timed waiting (计时等待)
Terminated(被终止): 因为run方法正常退出而自然死亡,2 因为一个没有捕获的异常终止了run方法而意外死亡
这里写图片描述

这里写图片描述这里写图片描述这里写图片描述

0 0