您的位置:首页 > 编程语言 > Java开发

java的线程与同步

2017-09-10 15:15 232 查看
java线程的五个状态

1.创建(new)

2.运行(running)

3.阻塞(blocked)

4.就绪(runnable)

5.死亡(dead)

java线程的两种实现方式

1.实现Runnable接口

在实现了Runnable接口的类里重写run(),并将该类的实例对象(还可以加上该线程名)传予Thread类的构造方法,再由Thread的实例调用start()

2.继承Thread类(Thread类已经实现了Runnable接口)

在继承了Thread类的子类里重写run()方法,直接new该子类的实例调用start()即可

java线程设置优先级

1.每个线程都有优先级,优先级决定线程的运行机会的多少。

2.每个线程默认和它创建的父类的优先级相同,main方法的优先级是普通优先级,那在main方法中创建的子线程都是普通优先级。

3.getPriority(int newPriority)/setPriority(int)

4.设置优先级的三个常量:

  MAX_PRIORITY 值是10

MIN_PRIORITY 值是1

NORM_PRIORITY 值是5

优先级的范围是1-10;

java的两种同步方式

1.同步方法

在方法前使用synchronized关键字修饰,需要注意的父类的同步方法被子类继承后该方法并不是同步的,若子类想要令该方法同步也需要加上synchronized,或者是直接在方法里调用父类的同步方法。

public synchronized void test(){

}

2.同步代码块
使用synchronized(Object obj)给一个对象加锁,并在{ }里写需要同步的方法

public void test(Object obj){
synchronized(obj){

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