011.进程和线程的区别是什么?
进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级线程。
线程与进程的区别归纳:
a.地址空间和其他资源:进程间相互独立。同一进程的各线程间共享。某进程内的线程在其他进程不可见。
b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
c.调度和切换:线程上下文切换比进程上下文切换要快得多。
d.在多线程OS中,进程不是一个可执行的实体
012.创建线程有几种不同的方式?你喜欢哪一种?为什么?
有4中方式可以用来创建线程:
继承Thread类
实现Runnable接口
应用程序可以使用Executor框架来创建线程池
实现Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继承(而JAVA不支持多继承),只能实现接口。同时,线程池也是非常高效的,很容易实现和使用。
还有一种方式是实现Callable接口。
原文:https://www.cnblogs.com/JAYPARK/p/10440483.html