博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程/线程介绍
阅读量:6206 次
发布时间:2019-06-21

本文共 617 字,大约阅读时间需要 2 分钟。

一、进程

进程可以认为是程序执行时的一个实例.进程是系统进行资源分配的独立的实体,且每个进程拥有独立

的地址空间.一个进程无法直接访问另一个进程的变量和数据结构,如果希望让一个进程访问另一个进程

的资源,需要使用进程间通信,比如:管道,有名管道,信号,信号量,消息队列,套接字等.

一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间.线程和进程的一个主要区别是,同一程序内

的多个线程会共享部分状态,多个线程可以读写同一块内存(一个进程无法直接访问另一进程的内存).同时

每个线程还拥有自己的寄存器和栈,其他线程可以读写这些栈内存.

线程是进程的一个特定执行路径.一个线程修改了进程中的资源,它的兄弟线程可以立即看到这种变化.

以下是小结:

a.进程是系统进行资源分配的基本单位,有独立的内存地址空间,是对某个数据集的执行过程;

线程是CPU调度的基本单元,没有独立地址空间有独立的栈,局部变量,寄存器,程序计数器等.

b.创建进程的开销大,包括创建虚拟地址空间等需要大量系统资源;创建线程开销小,基本上只有一个内核对象和

   一个堆栈.

c.一个进程切换开销大,线程切换开销小;进程间通信开销大,线程间通信开销小.

d.线程属于进程,不能独立执行.每一个进程至少有一个线程,称为主线程.

二、调度和作业

三、进程并发和线程并发

 

 

 

转载于:https://www.cnblogs.com/yasanlun/p/3844639.html

你可能感兴趣的文章
Expect 教程中文版
查看>>
mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)...
查看>>
Windows下安装Python模块时环境配置
查看>>
FiddlerScript-常用总结
查看>>
如何通过Git GUI将自己本地的项目上传至Github
查看>>
使用deploy命令上传jar到私有仓库
查看>>
apk之间数据共享的方式
查看>>
python 版本分布式锁
查看>>
限定虚拟机可用的CPU利用率
查看>>
Iptables-Fail2ban处理bind 非法***
查看>>
回文数算法
查看>>
Python爬虫框架Scrapy学习笔记原创
查看>>
Java逆向基础之AspectJ的获取成员变量的值
查看>>
我的第一程序语言python
查看>>
DHCP服务开启了,为什么老是网络冲突
查看>>
python 处理python编码的基本过程
查看>>
easyui validatebox 验证类型
查看>>
跳出多重循环 JS
查看>>
强密码检测
查看>>
MySql 自动更新时间为当前时间
查看>>