通俗一点说,进程就是程序的一次执行,而线程可以理解为进程中的执行的一段程序片段。
用一点文词说就是,每个进程都有独立的代码和数据空间(进程上下文);而线程可以看成是轻量级的进程。一般来讲(不使用特殊技术),同一进程所产生的线程共享同一块内存空间。
同一进程中的两段代码是不可能同时执行的,除非引入线程。
线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。
线程占用的资源要少于进程所占用的资源。
进程和线程都可以有优先级。
在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。
多进程——在操作系统中,能同时运行多个任务(程序)。
多线程——在同一应用程序中,有多个顺序流同时执行。
实现Runnable接口相对于继承Thread类来说,有如下显著的好处:
(1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想。
(2)可以避免由于Java的单继承特性带来的局限。我们经常碰到这样一种情况,即当我们要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么,这个类就只能采用实现Runnable接口的方式了。
(3)有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程操作相同的数据,与它们的代码无关。当共享访问相同的对象时,即它们共享相同的数据。当线程被构造时,需要的代码和数据通过一个对象作为构造函数实参传递进去,这个对象就是一个实现了Runnable接口的类的实例。
分享到:
相关推荐
线程进程的区别于联系,详细介绍.希望对大家有用。如果有不足的地方,麻烦留言。
JAVA线程与进程的区别JAVA线程与进程的区别
用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?...
详细讲解进程和线程之间的区别,方便初学者能更深透的理解
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
可以了解进程与线程的区别和联系,对操作系统有更深的了解。
该文档为进程与线程的生动详细地理解,个人认为讲的非常好。形象生动。
进程和线程详解,比较详细的介绍了进程和线程详解的相关知识,对初学者有很好的借鉴
线程和进程的区别.txt线程和进程的区别.txt线程和进程的区别.txt线程和进程的区别.txt
进程与线程的区别 - 博客园.mht 进程与线程的区别 - 博客园.mht 进程与线程的区别 - 博客园.mht
linux 进程和线程编程 pipe --原始管道 命名管道 消息队列 信号量 内存共享 线程编程
在Windows下创建进程和线程的API 对线程和进程的使用进行了详细描述
MFC程序设计详细实例 第25章 进程和线程MFC程序设计详细实例 第25章 进程和线程MFC程序设计详细实例 第25章 进程和线程MFC程序设计详细实例 第25章 进程和线程MFC程序设计详细实例 第25章 进程和线程MFC程序设计详细...
这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 观察程序运行的结果,并对你看到的现象进行解释。 2.在linux环境下编写一个控制台应用程序,程序中有...
看过的最清楚的进程线程,进程和线程对比 根本不用大头书就可以理解透彻。
通过观察、分析实验现象,深入理解线程及线程在调度执行和内存空间等方面的特点,并掌握线程与进程的区别。
程序:一段静态的代码,一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态... 进程:是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体,它有自己的生命周期。
进程、线程和优先级 工作线程和用户界面线程 线程同步 线程通讯
Linux把所有线程都当做进程来实现。内核并没有准备特别的调度算法或者定义特别的数据结构来表示线程。下面一起来看看
c语言多进程多线程编程