线程越多越好吗 线程

进程和线程有什么区别?1、功能不同
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 。
线程是操作系统能够进行运算调度的最小单位 。它被包含在进程之中,是进程中的实际运作单位 。
2、工作原理不同
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器 。程序是指令、数据及其组织形式的描述,进程是程序的实体 。
线程是独立调度和分派的基本单位 。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度 。
3、作用不同
进程是操作系统中最基本、重要的概念 。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上 。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源 。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位 。
扩展资料
进程是由进程控制块,程序段,数据段三部分组成 。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰) 。
在程序被运行后,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程 。是可并发执行的程序 。
在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性 。
进程可以划分为运行,阻塞,就绪三种状态,并随一定条件而相互转化,就绪运行,运行阻塞,阻塞就绪 。
进程为应用程序的运行实例,是应用程序的一次动态执行 。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序 。
在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序) 。
参考资料来源:百度百科-线程
参考资料来源:百度百科-进程
什么是线程线程是操作系统能够进行运算调度的最小单位 。它被包含在进程之中,是进程中的实际运作单位 。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 。
线程是独立调度和分派的基本单位 。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度 。
【线程越多越好吗 线程】同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等 。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage) 。
一个进程可以有很多线程,每条线程并行执行不同的任务 。
线程特点
1、轻型实体
线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源 。线程的实体包括程序、数据和TCB 。线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述 。
2、独立调度和分派的基本单位
在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位 。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的) 。
3、可并发执行
在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力 。
4、共享进程资源
在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址 。

秒懂生活扩展阅读