JAVA面试例题惑系列(十)——话说多线程
JAVA面试题解惑系列(十)——话说多线程好东西分享线程或者说多线程,是我们处理多任务的强大工具。线程和进程
JAVA面试题解惑系列(十)——话说多线程
好东西分享
线程或者说多线程,是我们处理多任务的强大工具。线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程间的变量不能共享;而线程是运行在进程内部的,每个正在运行的进程至少有一个线程,而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间,而线程是和它所属的进程内的其他线程共享一个存储空间。线程的使用可以使我们能够并行地处理一些事情。线程通过并行的处理给用户带来更好的使用体验,比如你使用的邮件系统(outlook、Thunderbird、foxmail等),你当然不希望它们在收取新邮件的时候,导致你连已经收下来的邮件都无法阅读,而只能等待收取邮件操作执行完毕。这正是线程的意义所在。
实现线程的方式
实现线程的方式有两种:
继承java.lang.Thread,并重写它的run()方法,将线程的执行主体放入其中。 实现java.lang.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。
这是继承Thread类实现线程的示例:
public?class?SimpleTaskTest?extends?Task?{ ??????@Override??????public?void?deal()?{ ??????????//?do?something ??????} ????????public?static?void?main(String[]?args)?throws?InterruptedException?{ ??????????ThreadPoolService?service?=?new?ThreadPoolService(); ??????????service.start(); ??????????//?执行十次任务 ??????????for?(</spa