多线程相关内核对象使用情况对比

news/2024/6/15 9:15:19

主线程与子线程之间要进行同步访问公共变量,子线程之间要互斥的访问公共变量。如下列出几种常用的同步互斥方法。

(1)关键段,criticalSection,可以用于线程间的互斥,不可以用于线程间同步,不能跨进程使用,有线程所有权,无需要处理“遗弃”问题。

(2)互斥量,mutex,             也可以解决互斥问题,不能解决同步问题,可以跨进程使用,拥有线程所有权,无需要处理“遗弃”问题。

(3)事件 , event,             可以解决同步问题也可以解决互斥问题,可以跨进程使用,没有线程所有权,不能处理“遗弃”问题。

(4)信号量,semaphore,用来处理主线程和子线程之间的同步问题,可以跨进程使用,不能处理“遗弃”问题。

 同步      互斥      可否跨进程使用能否处理“遗弃”问题
关键段不可以可以不能可以
互斥量不可以可以可以可以
事件可以可以可以不可以
信号量可以可以不可以

http://www.niftyadmin.cn/n/1414880.html

相关文章

[爬虫] 上海大学自动抢课工具

*****已经更新,突然看到选课系统登录接口变成了SSO接口,立即改了程序***** *****下载者承担一切后果,本人在此声明,一切商业活动与本人无关***** *****如果有人使用本软件出售,与作者无关,售卖者承担一切法…

亚历山大大帝

亚历山大大帝目录 简介生平遗留的格局大事年表人物评论电影《亚历山大大帝 Alexander》(2004)the Great Alexander (前356-前323)简介亚历山大大帝(公元前356—公元前23年),古代 马其顿国 王,世界古代史上著名的军事家和政治家。生…

linux IPC 通信 study 一:管道

linux 进程通信机制:分为基于system V 和posix。 常用的通信方式分为: (1) 管道pipe和命名管道fifo. (2) 信号signal (3) 信号量semphore (4) 消息队列 msg queue (5) 共享内存share memory (6) 套接字socket 详解如下: 1.1. 匿名管…

Springboot - 在启动完成后执行特定方法

1.实现方式 实现ApplicationRunner接口实现CommandLineRunner接口 Component Slf4j public class AfterServiceStarted implements ApplicationRunner{/*** 会在服务启动完成后立即执行*/Overridepublic void run(ApplicationArguments args) throws Exception {log.info("…

大流士一世

大流士一世大流士一世 ( Daruis I公元前558—486年),波斯皇帝(公元前522—486年在位)他在继位之后不到一年的时间里,以各个击破的策略,先后打了十八次大战役,铲除了八大割据势力的首领&#xff…

节约内存:Instagram的Redis实践

2019独角兽企业重金招聘Python工程师标准>>> Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面…

linux IPC 通信 study 二:信号signal

信号是一种软中断,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。signal是ipc机制中唯一的异步通信机制。 信…

大流士三世

大流士三世传世的波斯王,其他的波斯君主都只有浮雕和钱币上千篇一律的侧影流传下来。 1831年,意大利那布勒斯王国发掘古罗马庞贝(Pompeii)遗址的过程中,发现了保存相当完好的一幅壁画,这就是著名的“伊苏斯壁画” (Issus Mosaic)。…