线程:比进程还小的可独立执行的基本单位
(控制线程的简写,也叫轻型线程)
多线程是实现并行的手段;一个进程可有多个线程,但至少有一个主线程;
线程:代码,数据,虚拟cpu的封装体
线程创建的方法
(1)创建子类继承Thread,重写Run方法,实例化子类,调用start()
(2)创建Runnable的实现类,重写run方法,在main中调用Thread的有参构造以Runnable实现类的实例化对象为参数,创建一个Thread类;
Synchronized(静态的对象|this){
锁住的代码段;
}
锁初始状态是打开的;当有线程进入就锁住,直到该线程执行完所有的锁住代码段;
线程的调度:在单个cpu上以某种顺序执行多个线程;
(基于线程优先级的一种抢先式调度)
线程的优先级:
getPriority()//获得优先级
T. setPriority()//设置优先级
线程阻塞:
t.sleep()//让t睡一觉
t.jion()//让t先来,正在执行的线程你先停一下;
//-----------------------------------------------------------------------------
t.yeild()//让同级的线程运行
t.isAlive()//线程你还活着吗?
T.getCurrentThread()//现在是谁在执行啊?返回线程
t.stop() //t你可以噶了
t.suspeng()//t你先停一下
t.resume()//t你继续
线程的生命周期为:
新建状态->可运行状态 ->运行状态 ->阻塞状态 ->终止状态
New一下->start()让t准备run->欸嘿我抢到了cpu->t.slleep()t你睡觉,或者让他来->t.stop()