并发之路1:线程-JDK1.8
:
概述:
一个程序同时执行多个任务,这个任务通常被线程控制,简称线程。
创建线程:(本文以Runnable为例,当然你可以用Callable和Thread都行)
第一步:实现Runnable接口
public interface Runnable{
void run();
}
由于Runnable是函数式接口,我们可以使用Lambda表达式来构建一个Runnable实例:
Runnable r = () -> {System.out.print("this is My runnable")};
第二步:构建线程
通过Runnable接口来构建Thread实例(线程)
Thread t = new Thread(r);
第三步:启动线程
t.start(); -- 注意不要直接调用run()方法,调用run方法不会创建新的线程
休眠、阻塞线程:
当线程处于被阻塞或者休眠等待的状态,不运行任何代码资源消耗量极少。
要让线程处于休眠或者阻塞的方法有一下几种方式;
1、内部对象锁对其的阻塞
2、线程等待另一个线程通调度
3、通过方法: Thread.sleep、Object.wait、Thread.join、Lock.tryLock以及Condition.await的计时板
中断线程:
1、如果在代码中出现了没有捕获的异常时,线程将终止。