核心技术:并发
跳到导航
跳到搜索
什么是线程
一个程序同时执行多个任务,每一个任务称为一个线程(thread), 它是线程控制的简称。
- 进程与线程有的区别,在于每个进程拥有自己的一整套变量, 而线程则共享数据。
- 共享变量使线程之间的通信比进程之间的通信更有效、更容易。
使用线程
实现线程的两种方式:
- 实现Runnable接口,利用接口构造Thread对象;(Runnable 是一个函数式接口,可以用lambda 表达式)
Runnable r = () -> { /*task code*/ }; Thread t = new Thread(r);
- 继承Thread类,构造一个子类的对象;
class MyThread extends Thread { public void run() { //task code } }
- 不要调用Thread类或Runnable对象的run方法,而应该调用Thread.start方法。
- 直接调用run 方法,只会执行同一个线程中的任务,而不会启动新线程。
相关方法
java.Iang.Thread
- Thread( Runnable target )
- 构造一个新线程, 用于调用给定目标的nm() 方法。
- void start( )
- 启动这个线程, 将引发调用mn() 方法。这个方法将立即返回, 并且新线程将并发运行。
- void run( )
- 调用关联 Runnable 的run 方法。
- static void sleep(long minis)
- 休眠给定的毫秒数。参数:millis 休眠的毫秒数
java.lang.Runnable
- void run( )
- 必须覆盖这个方法, 并在这个方法中提供所要执行的任务指令。