转自:
多线程:
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”
多线程就是把操作系统中的这种并发执行机制原理运用在一个程序中,把一个程序划分为若干个子任务,多个子任务并发执行,每一个任务就是一个线程。这就是多线程程序 [3] 。
多线程技术不但可以提高交互式,而且能够更加高效、便捷地进行控制。在对多线程应用的时候,可以使程序响应速度得到提高,从而实现速度化、高效化的特点。另外,多线程技术存在的缺点也比较明显,需要等待比较长的时间之外,还会在一定程度上使程序运行速度降低,使工作效率受到一定的影响,从而对资源造成了浪费
下文笔者将讲述Java中Runnable和Callable接口之间的不同之处,如下所示:
Callable接口同Runnable非常相似 两者均应用于定义子进程 两者的最大区别是:Runnable不会返回结果,也不能引发已检查的异常
两者的区别为:
1.Runnable接口自java1.0开始就存在
Callable接口从java1.5开始引入
2.返回结果上
Callable接口可返回一个Funture,然后通过其get方法获取其返回结果