线程归纳:
1、线程的几种状态:(创建、就绪、运行、阻塞、死亡)
2、创建线程的两种方式:①extendsThread 继承线程类 ②implementsRunnable 实现Runnable接口
①new 一个实例对象,直接启动实例就可以
②new 一个实例,再new一个Thread对象,将实例放入Thread对象中
3、线程启动之后就教给jvm虚拟机处理了,已经不受主函数控制。
可以用switch代替存在很多的 if else 的情况
switch()
{
case0:
case1:
}
4、一个线程类对象只能启动一次,但是一个对象可以被多个线程搭载并启动,多个线程之间共享该对象的资源,从而导致并发。
多线程并发可以提高程序的运行速度,但是资源消耗更多,并且会存在抢占资源的情况。运行起来不够安全,可能触发死锁
5、线程死锁,死锁出现在多线程并发同步块中,当一个同步块去读另一个同步块的内容时,正好另一个同步块在排队状态,两个线程互相等待彼此的同步块资源的释放。
6、线程睡眠时,它所持的任何锁都不会释放,Sleep结束之后进入Runnable状态。