Java中的多线程
Java编程语言具有对使用多线程的内置支持。当你运行Java应用程序时,Java虚拟机(JVM)会创建一个称为主线程的线程。主线程负责运行应用程序的main()方法。然后主线程可以创建其他线程,这些线程可以与主线程并发运行。
线程的并发执行可以通过利用多个CPU或处理器来帮助提高应用程序的性能。它还可以通过允许在用户与图形用户界面(GUI)交互时在后台执行任务来帮助提高响应能力。

Java中的线程状态是什么?
当Java程序启动时,只有一个线程——主线程。该线程负责执行程序的main()方法。一旦main()方法退出,程序就会终止。但是,Java程序可以有多个线程同时运行。
线程可以处于以下几种状态之一:
l就绪或可运行——这是线程在就绪或可运行队列中等待分配处理器的状态。当你在线程对象上调用start方法时,线程进入此状态。当运行时隐式调用yield方法时,线程将控制权交给就绪或可运行队列中的下一个线程。
l Running–这是处理器正在执行线程时的状态。调度程序负责在适当的时间将线程调度到运行状态——通常是在轮到它并且当前运行的线程完成执行之后。
l Waiting/Suspended/Blocked–当你调用线程对象的挂起方法时,线程进入挂起状态。在调用resume方法后,可以将挂起的线程移回运行状态。线程处于等待状态时等待I/O。
当线程完成执行或终止时,它会停止。
关于Java多线程的较终思考
可以通过两种方式创建线程:通过扩展Thread类或通过实现Runnable接口。尽管多线程必须提供所有好处,但你必须谨慎使用它。你应该知道如何处理线程同步问题,并避免死锁和竞争条件。