进程和线程
1、操作系统中线程和进程的概念:
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。
? ? ? 比如在Windows系统中,一个运行的exe就是一个进程。
? ? ? 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的
? ? ? 并发性:任何进程都可以同其他进程一起并发执行
? ? ? 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位
? ? ? 异步性:每个进程都以相互独、不可预知的速度向前推进?
? ? ? 结构特征:进程由程序、数据和进程控制块三部分组成。
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。
? ? ? 比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。
. ?进程和线程的关系 (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。 (3)处理机分给线程,即真正在处理机上运行的是线程。 (4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
?
在分时系统中,进程中的每个线程都拥有一个时间片,时间片结束时保存 CPU 及寄存器中的线程上下文并交出 CPU,完成一次线程间切换。当然,当进程的 CPU 时间使用结束时,所有的线程必然被阻塞。
?
1、并行(parallellism)和并发(concurrency)
解释一:并行指应用能够同时执行不同的任务,并发指应用能够交替执行不同的任务。 解释二:并行是指同一时刻同时做多件事情,并发是指同一时间间隔内做多件事情。 解释三:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。 解释四:在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群 我的理解: 理解一:一边吃饭一边看电视,是并行。看一眼电视,再看一眼书,是并发。 理解二:QQ和微信同时运行,是并行。在微信上和多个人聊天,是并发。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows Server 2016-Hyper-V 2016新增功能
- windows-server-2008 – 如何判断安装SQL Server或Windows
- zfs – Windows Server 2016群集磁盘的LIO iSCSI目标 – 设
- windows – 为什么setx路径不起作用?
- windows – Vbscript Printscreen到MSpaint
- windows-phone-7 – IsolatedStorageSettings.ApplicationS
- Windows下查找文件或文件夹被哪个进程占用
- Windows API一日一练 4 MessageBox函数
- windows-server-2008 – Windows Server 2012重启后公共网络
- bytearray – 在Dart中处理字节数组时,使用Uint8List而不是
- windows-server-2008-r2 – 我从raid上启动了哪个
- Windows下安装Memcached的步骤说明
- 在ESXi Server上安装Windows 3.11 for Workgroup
- windows-server-2003 – 小型网络的自动裸机恢复
- Windows中的PrivCopyFileExW错误?
- wix – 安装MSI时可能导致错误2902的原因是什么?
- windows-server-2008 – Windows Server R2中的最
- windows10环境下装ubuntu双系统,装显卡驱动,配
- windows – 有没有人试过他们的软件与ReactOS?
- Windows Server 2016-Windows 时间服务概览