一、概念
"线程"是计算机执行任务的基本单位,通常"线程"作为"进程"的一部分,也就是说"线程"的集合是"进程"。而计算机进行任务调度的时候通常以"进程"为单位,所以说"进程"是重量级的,而"线程"则是相对的轻量级任务执行单位。
二、方法
1、实现Runnable接口
类TestRunnable实现了接口Runnable,并实现了其中的run方法。在主方法中创建了TestRunnable类的实例,并把它作为参数来创建Thread对象,然后调用start方法来启动线程。
run方法就是线程执行时运行的方法,简单的说运行线程就是运行它的run方法,run方法执行结束,这个线程就结束了。当创建完Thread对象后,使用start方法让线程进入就绪状态参与系统的调度。
2、扩展Thread类
采用扩展Thread类创建线程的方式相对来说比较简便,但是也降低了程序的扩展性,个人不太推荐这种创建线程的方式,当然也需要视具体情况而定。
3、实现Callble接口
Callable接口中的call方法具有返回值,也就是说在线程结束后可以返回运行的结果,这是前面两种创建方式不具备的特点。通过FutureTask的get方法可以返回运行之后的结果,get方法会一直等到线程运行结束才会返回结果。