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){
}
}
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){
}
}
相关文章推荐
- 【总结】Java线程同步机制深刻阐述
- 黑马程序员——Java基础---线程的另一个总结(9)--其他同步工具
- 黑马程序员-----Java基础-----线程与同步
- JAVA线程同步——synchronized
- 对Java线程同步的认识
- 牛客网Java刷题知识点之为什么HashMap不支持线程的同步,不是线程安全的?如何实现HashMap的同步?
- java线程同步原理及wait,notify的用法及与sleep的区别
- Java线程:线程的同步-同步方法
- 黑马程序员——学习日记12 java线程同步
- java线程同步问题——由腾讯笔试题引发的风波
- Java线程的同步和异步的区别
- Java线程同步:生产者-消费者 模型(代码示例)
- Java秒表优化版(同步系统时间)(线程)(记录)
- java线程同步:使用Object的wait,notify,notifyAll做线程调度
- 黑马程序员---Java线程与同步
- Java线程同步:生产者-消费者 模型(代码示例)
- 【Java线程同步锁的选择】
- JAVA线程之五:线程的同步
- Java线程:线程的同步-同步方法
- Java多线程-线程的同步(同步代码块)