JavaSE进阶

15.2.3 Thread类

  • 构造方法
    • Thread():创建新的Thread对象
    • Thread(String threadname):创建线程并指定线程实例名
    • Thread(Runnable target):指定创建线程的目标对象,它实现了Runnable接口中的run方法
    • Thread(Runnable target, String name):创建新的Thread对象

 

创建线程的两种方式

 

一 继承Thread类

 1)  定义子类继承Thread类。

 2)  子类中重写Thread类中的run方法。

 3)  创建Thread子类对象,即创建了线程对象。

 4)  调用线程对象start方法:启动线程,调用run方法

二 实现Runnable接口

1)定义子类,实现Runnable接口。

2)子类中重写Runnable接口中的run方法。

3)通过Thread类含参构造器创建线程对象。

4)将Runnable接口的子类对象作为实际参数传递给Thread类的构造方法中。

5)调用Thread类的start方法:开启线程,调用Runnable子类接口的run方法。

15.2.4 继承方式和实现方式的联系与区别

【区别】

1)继承Thread:       线程代码存放Thread子类run方法中。

2)实现Runnable:线程代码存在接口的子类的run方法。

【实现方法的好处】

1)避免了单继承的局限性

2)多个线程可以共享同一个接口子类的对象,非常适合多个相同线程来处理同一份资源。

 

15.2.5 练  习

创建两个子线程,让其中一个输出1-100之间的偶数,另一个输出1-100之间的奇数。

15.2.6 Thread类的有关方法(1)

  • void start(): 启动线程,并执行对象的run()方法
  • run(): 线程在被调度时执行的操作
  • String getName(): 返回线程的名称
  • void setName(String name):设置该线程名称
  • static currentThread(): 返回当前线程
  •