进程和线程

进程和线程

1. 进程

  • 进程是计算机中的一个独立执行单元,每个进程都有自己独立的内存空间、代码和数据,是系统进行资源分配的最小单位
  • 进程之间是相互隔离的,一个进程的崩溃通常不会影响其它进程
  • 进程之间通信较为复杂,通常需要使用进程间通信(Inter-Process Communication,IPC)机制,如管道、消息队列、共享内存等
  • 创建和销毁进程的开销相对较大

2. 线程

  • 线程是进程内的一个执行单元,一个进程可以包含多个线程,它们共享相同的内存空间和数据,是调度执行的最小单元
  • 线程之间相互共享资源,一个线程的崩溃可能会影响整个进程
  • 线程之间通信相对简单,因为它们共享相同的内存,可以直接访问共享数据
  • 创建和销毁线程的开销较小

3. 对比

  1. 内存和资源隔离:进程之间相互隔离,每个进程有自己独立的内存空间和资源,而线程共享同一进程的内存空间和资源
  2. 切换开销:进程切换的开销较大,因为需要切换整个上下文,包括内存空间、寄存器等;线程切换的开销较小,因为只需切换部分上下文
  3. 通信复杂性:进程之间通信较为复杂,需要使用特定的通信机制;线程之间通信相对简单,可以直接读写共享内存
  4. 创建销毁开销:创建和销毁进程的开销较大,包括内存分配、资源初始化等;创建和销毁线程的开销较小

补充

并发和并行

  • 并发:指在同一时间段内,多个任务在交替执行,但实际上在任意时刻只有一个任务在执行
  • 并行:指在同一时刻,多个任务真正地同时执行,通常需要具备多个处理单元(例如多核处理器)来实现

同步和异步

  • 同步:需要等待结果返回,才能继续运行就是同步
  • 异步:不需要等待结果返回,就能继续运行就是异步
🌟 如果您喜欢我的文章,欢迎赞赏支持,您的支持是我创作的最大动力!🌟
🖋 作者:Enndfp
🔗链接:https://blog.enndfp.cn
📜版权声明:您可以自由转载,但请务必注明原文地址,感谢您的尊重与支持~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇