多线程

一.基本概念


1.进程:

A.程序(任务)的执行过程

B.持有资源(共享内存,共享文件)和线程

2.线程:

A.是系统中最小的执行单元

B.同一个进程中有多个线程

C.线程共享进程的资源

3.线程的交互:互斥和同步


二.线程的常用方法


多线程_第1张图片



三.线程的实现


1.继承Thread类

多线程_第2张图片


多线程_第3张图片

多线程_第4张图片


2.实现runnable接口


多线程_第5张图片

多线程_第6张图片




3.实现callable接口,结合future和futureTask方法


四.停止线程的方法


设置退出标志

多线程_第7张图片


然后将退出标志设为false便可结束线程

多线程_第8张图片

注意:

A.不要使用线程的stop方法,stop方法会使线程戛然而止,使我们无法知道线程完成了什么工作,让我们没机会做一些清理工作

B.不要使用线程的interrupt方法,即中断方法,这个方法无法使线程结束,只能调用它的中断状态,这种情况下不能使用线程的sleep,wait等阻塞方法,否则将清除它的中断状态


五.线程的交互


互斥:synchronized (Thread类的方法)

同步:wait,notify,notifyAll (Object类的方法),注意wait和notify方法不是同一个线程调用的


多线程_第9张图片

多线程_第10张图片


你可能感兴趣的:(多线程,线程,互斥,同步,线程的实现,IT,java)