多线程学习笔记(一)

一. 新建线程(两种方法)

第一种:继承Thread

1.定义一个类继承Thread

2.该类重写run方法。其中的getName是获取线程名方法;有参构造可以在新建时指定线程名

3.创建子类对象就是创建新线程

4.子类对象调用start方法 ,开启线程,执行重写的run方法。在main方法中获取线程名用Thread.CurrentThread().getName()

第二种:实现Runnable接口

1.定义类实现Runnable接口

2.覆盖接口中的run方法

3.创建Runnable接口实现类对象

4.创建Thread对象,将Runnable的子类对象作为参数传递给Thread类的构造函数

5.调用Thread类的start方法,开启线程,调用run方法

注意:

1.线程对象调用run方法不开启线程。仅是对象调用方法。线程对象调用start开启线程,并让jvm调用run方法在开启的线程中执行。

2.主线程名字main,自定义的线程默认以Thread-0、Thread-1...依次命名

二. 线程的匿名内部类的使用(两种方式)