Thread类中的start()方法和run()方法的区别
首先明白一个线程的状态
【新建】- Thread t = new Thread()
【就绪】- t.start(); - 线程进入等待队列争夺CPU时间片后即可进入运行状态
【运行】- t.run();
【阻塞】- 线程睡眠、让权等待或等待一个事件发生(eg:用户IO操作)
【死亡】 - 程序正常结束或异常退出
start()方法让多个线程进入等待队列等待CPU时间片宏观上实现多个线程之间的并发执行在微观上多个多个线程串行