一、概念
进程:一个程序就是一个进程;
线程:进程里面最小的执行单元;
二、启动线程
第一种: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的线程。