一、概念
進程:一個程序就是一個進程;
線程:進程里面最小的執行單元;
二、啟動線程
第一種:new Thread().start();
第二種:new Thread(Runnable).start();
第三種:通過線程池可以啟動一個新的線程,其實線程池也是用的兩種方式之一,Executors.newCachedThreadPool()或者FutureTask+Callable
public class ThreadDemo{ 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!"); } } public static void main(String[] args) { new MyThread().start(); new Thread(new MyRun()).start(); new Thread(()->{ System.out.println("Hello Lambda!"); }).start(); } }
三、線程的幾個方法
Thread.sleep(500);意思是睡眠,當前線程暫停一段時間讓給別的線程運行,等睡眠到規定的時間自動復活。
Thread.yield();當前線程正在執行的時候停止下來等待隊列,yield的意思就是我讓出一下cpu,后面能不能搶到執行權不一定。
Thread.join();在當前線程加入你調用Join的線程。