一、线程的实现
1.继承thread类 实现run方法
2.实现Runable接口
class MyThread extends Thread{
public void run(){
//执行耗时的操作
}
}
//线程的启动:
MyThread t1=new MyThread();
t1.start();
class MyRunnable implements Runnable{
public void run(){
//耗时的操作
}
}
//线程的执行
MyRunnable r1=new MyRunnable();
Threar t1=new Thread(r1);
t1.start();
二、线程的状态
1.创建状态
2.就绪状态:调用了start方法,等待cpu分配资源
3.运行状态:执行start方法
4.阻塞状态 : 暂停线程,可能将资源让给其他线程
5.终止状态:销毁线程
线程的常用方法
currentThread():取得当前线程对象
isAlive():线程是否启动
join:线程的强行启动 强行抢的cpu资源
sleep:线程的休眠
yield:让出cpu资源 效果:会让出当前cpu让其他线程执行
三、线程的优先级
Thread.MIN_PRIORITY:
Thread.MAX_PRIORITY;
Thread.MID_PRIORITY;
提高当前线程 抢到CPU的能力 但不是绝对的。
四、线程的同步
synchronized:资源共享,保证你使用的都是一套资源
同步代码块:
synchronized(同步对象){
}
方法的同步
synchronized void 方法名(){}