Java并发学习笔记 线程篇,
分享于 点击 14088 次 点评:193
Java并发学习笔记 线程篇,
创建线程的几种方式
public class T02_HowToCreateThread { static class MyThread extends Thread { @Override public void run() { System.out.println("Hello MyThread!"); } } static class MyRun implements Runnable { @Override public void run() { System.out.println("Hello MyRun!"); } } static class MyCall implements Callable<String> { @Override public String call() { System.out.println("Hello MyCall"); return "success"; } }
启动线程的五种方式
public static void main(String[] args) { new MyThread().start(); //第一种 new Thread(new MyRun()).start(); //第二种 new Thread(()->{ //第三种 System.out.println("Hello Lambda!"); }).start(); Thread t = new Thread(new FutureTask<String>(new MyCall())); //第四种 t.start(); ExecutorService service = Executors.newCachedThreadPool(); //第五种 service.execute(()->{ System.out.println("Hello ThreadPool"); }); service.shutdown(); } }
中断线程的方法
当线程的run方法执行方法体中的最后一条语句后,并经由执行return语句返回时,或者出现了在方法中没有捕获的异常时,线程将终止。
没有可以强制线程终止的方法。然而,interrupt方法可以用来请求终止线程。
Java早期版本中,还有一个stop方法,其他线程可以调用它终止线程。但是这个方法已经被弃用了。
线程状态
线程可以有如下6种状态:
- New (新创建)
- Runnable (可运行)
- Blocked (被阻塞)
- Waiting (等待)
- Timed waiting (计时等待)
- Terminated (被终止)
要确定一个线程的当前状态,可调用getState方法
相关文章
- 暂无相关文章
用户点评