线程

进程:运行在系统当中的任务(一个进程至少有一个线程)

线程:运行在进程当中的任务(线程不能脱离进程)

进程:独立内存地址空间

线程:同进程中线程共享内存地址

继承Thread 类 

run()子线程的入口

子线程没结束前,主线程不会结束

优先级(1-10 10最高)的设置,只能让优先级高的 抢到执行CPU的几率越大

setPriority(1-10);

Thread .MAX_PRIORITY最高   Thread.MIN_PRIORITY最小   Thread.NORM_PRIORITY中等

Runnable 线程接口

线程接口 启动线程 同样Thread

Car 继承Thread时通过  car.start()启动线程

 当实现runnable接口时(因为是接口,没有start方法)  有两种方法启动线程,通过 Thread th=new Thread(实现了runnable接口类的对象) th.start()启动

另,在构造方法中

 public 实现runnable接口类的类名(){

Thread th=new Thread(this)//因为当前类重写了runnable接口的run方法

Th.start();

}

                           

线程的状况

线程有8个状态

4个基本状态(每个线程都必须经历的状态)

a)  新建

b)  就绪

c)  运行

d)  死亡

运行过程当中有4个状态

a)       睡眠sleep(时间一过自己继续执行)

b)       等待 wait(需要唤醒)

c)       挂起 yield(立即让出本次CPU周期 执行权)

d)       堵塞(通过IO 让程序等待)

原文地址:https://www.cnblogs.com/-try/p/3712616.html