Java创建多线程方式之一:继承Thread类

1.创建一个继承于Thread类的子类

2.重写Thread类的run() -->将此线程执行的操作声明在run()中

3.创建Thread类的子类对象

4,通过此对象调用start():1.启动当前线程 2.调用当前线程的run()

不能通过直接调用run()的方式启动线程

再启动一个线程,已经start的线程不能重复start

Thread类的有关方法

run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中

currentThread():静态方法 返回执行当前代码的线程

getName() 获取当前线程的名字

setName()设置当前线程的名字 

 yield() 释放当前cpu的执行权

join() 在线程A中调用线程B的join(),此时线程A就进入阻塞状态,知道线程B完全执行完以后,线程A才结束阻塞状态

sleep(long millitime)

isAlive()判断当前线程是否存活

线程的调度

  调度策略

  时间片

  抢占式:高优先级的线程抢CPU

Java的调度方法

  同优先级线程组成先进先出列队(先到先服务),使用时间片策略

  对高优先级,使用优先调度的抢占式策略

1.线程的优先级等级

MAX_PRIORITY:10

MIN_PRIORITY:1

NORM_PRIORITY:5

2.如何获取和设置当前线程的优先级

  getPriority()

  setPriority()

  高优先级的线程要抢占低优先级线程cpu的执行权。但只是从概率上讲。

猜你喜欢

转载自www.cnblogs.com/ergePython/p/11883479.html