一个进程包含多个线程,线程是最小运行单位
一.线程的语法结构:
1.Class primeThread extends Thread{
@Override
public void run() {}
}
2.public class sale implements Runnable{
@Override
public void run() {}
}
Sale sale=new Sale();
new Thread(sale).start();
二.线程的优先级:(资源紧张时,尽可能优先)
getpriority
Thread.Current Thread().setpriority();
Current Thread //当前线程
三.守护线程,又叫精灵线程或后台线程
t2.SetdDaemon(true); //设置精灵线程,别的线程一结束,它也跟着结束
四.thread.join //按照顺序加入
五.线程同步:
当几个线程同时访问这个资源时,我们把它叫做临界资源,这时就需要加同步代码锁(Synchronized)。
1.同步代码锁Synchronized(this){
代码块
}
2.同步方法:
public Synchronized void Sale(){
}
六.线程的状态:
1.new-------新建状态
2.runnable-------可运行状态
3.running--------------运行状态
4.睡眠,挂起,阻塞状态
sleep(1000); //睡眠1000毫秒,继续进入runnable状态进行下次CPU分配
yield(); //当次运行暂停,继续进入runnable状态进行下次CPU分配
阻塞状态:加入Scanner
5.dead-----------------------死亡状态
6.Object下的wait状态:
当一个线程进入等待状态,别人通过notify()把它唤醒