java Thread类 线程学习 一:

来源:互联网 发布:淘宝售前要做什么 编辑:程序博客网 时间:2024/05/16 19:06

欢迎技术交流。 QQ:138986722

线程中的7种非常重要的状态:(有的书上也认为只有前五种状态:而将"锁池"、"等待池"

都看成是"阻塞"状态的特殊情况:这种认识也是正确的,但是将"锁池"和"等待池"单独分

离出来有利于对程序的理解)
1、初始状态、线程创建、线程对象调用start()方法。

2、可运行状态、也就是等待Cpu资源、等待运行的状态。

3、运行状态、获得了Cpu资源,正在运行状态。

4、阻塞状态、也就是让出Cpu资源、进入一种等待状态、而不是可运行状态、有三种

情况会进入阻塞状态。
     1)、如等待输入(输入设备进行处理、而Cpu不处理)、则放入阻塞、直到输入完毕、

阻塞结束后会进入可运行状态。
     2)、线程休眠、线程对象调用sleep()方法、阻塞结束后会进入可运行状态。
     3)、线程对象2调用线程对象1的join()方法、那么线程对象2进入阻塞状态、直到线

程对象1中止。

5、中止状态、也就是执行结束。

6、锁池状态。

7、等待队列。

线程的优先级:
    线程的优先级代表该线程的重要程度、当有多个线程同时处于可执行状态并等待获得

CPU时间时、线程调度系统根据各个线程的优先级来决定给谁分配CPU时间、优先级高

的线程有更大的机会获得CPU时间、优先级滴的线程也不是没有机会、只是机会要小一

些罢了。
     你可以调用Thread类的方法getPriority()和setPriorty来存取线程的优先级、线程的

优先级介于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间、缺省是5

(NORM_PRIORITY)。

 

直接继承Thread类:

 

 

实现Runnable接口创建线程:

 

原创粉丝点击