java中的进程与线程的实现方法有哪些

本篇文章给大家分享的是有关java中的进程与线程的实现方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

并行是指同一时刻,多个命令在多个处理器上同时执行;并发是指在同一时刻,只有一条命令是在处理器上执行的,但多个进程命令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果

① 定义Thread类的子类 并重写该类的Run方法,该run方法的方法体就代表了该线程需要完成的任务

java中的进程与线程的实现方法有哪些

java中的进程与线程的实现方法有哪些java中的进程与线程的实现方法有哪些

Thread类的子类来创建线程类时,多个线程无法共享线程类的实例变量(比如上面的i)

java中的进程与线程的实现方法有哪些

java中的进程与线程的实现方法有哪些

Ruunable接口的方式创建多个线程可以共享线程类的实例变量,这是因为在这种方式下,程序创建的Runnable对象只是线程的target,而多个线程可以共享一个target,所以多个线程可以共享一个实例变量

Runnable实现多线程其实就是将run包装成线程的执行体,但是目前java无法将任意方法包装成线程执行体

callable和future创建线程Java5开始,Java提供 Callable接口,Callable接口提供了一个call()方法可以作为线程执行体,看起来和Runnable很像,但call()方法更强大——call()方法可以有返回值、call()方法可以抛出异常

Future接口提供了一个FutureTask实现类,该实现类实现类Future接口,也实现了Runnable接口——可以作为Thread的target。

call方法会成为线程执行体,且call方法具有返回值callable接口的实现类!

FutrueTask封装类Callable的call方法的返回值

FutrueTask的get方法获取执行结束后的返回值

java中的进程与线程的实现方法有哪些

java中的进程与线程的实现方法有哪些

Runnable、Callable的优势在于——线程类只是实现了Runnable或Callable接口,还可以继承其它类;在这种方法下,多个线程可以共享一个target对象,因此非常适合多个相同线程处理同一份资源的情况,从而将CPU、代码和数据分开,形参清晰的模型,体现了面对对象的编程思想。劣势在于编程复杂度略高。

以上就是java中的进程与线程的实现方法有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

java中的进程与线程的实现方法有哪些