2020-10-21

it2025-01-14  9

主线程:执行主(main)方法的线程

单线程程序:java程序中只有一个线程

执行从main方法开始,从上到下依次执行

创建多线程程序的第一种方式: 常见Thread类的子类

java.Lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类

实现步骤:

创建一个Thread类的子类

在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?)

创建Thread类的子类对象

调用Thread类中的方法start方法,开启新的线程,执行run方法 void start()使该线程开始执行,Java虚拟机调用该线程的run方法

结果使两个线程并发地运行,当前线程(main线程)和另一个线程(创建的新线程,执行其run方法)。

多次启动一个线程使非法的。特别使当线程已经结束执行后,不能在重新启动

java程序属于抢占式调度,那个线程的优先级高,那个线程优先执行;同一个优先级,随机执行一个

获取线程的名称: 1.使用Thread类中的方法getName() String getName()返回该线程的名称

2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称 static Thread currentThread()返回对当前正在执行的线程对象的引用。

设置线程的名称: 1.使用Thread类中的方法setName(名字) void setName(String name)改变线程名称,使之与参数name相同

2.创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类,让父类(Thread)给子线程起一个名字 Thread(String name) 分配新的 Thread对象

sleep() public static void sleep(long mills):使用当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。毫秒数结束后,线程继续执行

创建多线程的第二种方式: 实现Runnnable接口

java.lang.runnable

Runnable 接口应该由哪些打算通过某一线程执行其实例的类来实现。类必须定义一个称为run的无参数方法

java.lang.Thread类的构造方法

Thread(Runnable target)分配新的 Thread对象。

Thread(Runnable target,String name)分配新的 Thread对象

实现步骤: 1.创建一个Runnable接口的实现类

2.在实现类中重写Runnable接口的run方法,设置线程任务

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

4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象

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

实现Runnable接口创建多线程程序的好处: 1.避免了单继承的局限性. 一个类只能继承一个类,实现了Runnable接口,还可以继承其他的类,实现其他的接口

2.增强了程序的扩展性,降低了程序的耦合性(解耦) 实现Runnable接口的方式,把设置线程任务和开启新线程进行了分离(解耦)

实现类中,重写了run方法:用来设置线程任务 创建Thread类对象,调用start方法:用来开启新线程

最新回复(0)