您的位置:首页 > 其它

多线程

2016-03-08 20:28 281 查看
线程:

一、线程与进程

1、线程:程序中单独顺序的控制流。

线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境。

2、进程:执行中的程序

一个进程可以包含一个或多个线程。

一个进程至少要包含一个线程。

3、单线程

程序中只存在一个线程,实际上主方法就是一个主线程。

4、多线程

多线程是在一个程序中运行多个任务。

多线程的目的是更好的使用CPU资源。

二、线程的实现

1、线程的实现方法有两种 继承Thread类实现Runnable接口

2、Thread类

Thread是在java.lang包中定义的,继承Thread类必须重写run()方法。

定义格式

class className extends Thread{

run(){};

}

3、Runnable接口

三、线程的状态

1、线程固定的操作状态

创建状态:准备好了一个多线程对象

就绪状态:调用的start方法,等待CPU进行调度。

运行状态:执行run()方法

阻塞状态:暂时停止执行,可能将资源给其他线程使用

终止状态(死亡状态):线程销毁

四、线程的常用方法

1、取得线程名称
getName()

2、取得当前线程对象
currentThread()

3、判断线程是否运动
isAlive()

4、线程强行运行
join()

5、线程的休眠
sleep()

6、线程的礼让
yield()

五、线程的优先级

1、优先级顺序设置

1-MIN-PRIORITY

2-MAX-PRIORITY

5-NORM-PRIORITY

如果什么都不设置默认值是零

六、线程同步------同步和死锁

1、同步代码块(资源共享的时候需要同步)

在代码块上加上synchronized关键字,则此代码块称为同步代码块。

2、同步代码块格式

synchronized(同步对象){

需要同步的代码块;

}

3、同步方法

除了代码块可以同步,方法也是可以同步的。

4、方法同步格式

synchronized void 方法名称(){

七、线程的生命周期
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: