前言 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即它们被创建之后, 不会因为进程的退出而消失 6. 共享内存 6.1 概念 共享内存 共享内存是进程间通信中最简单的方式之一 是效率最高的一种IPC通信机制 它允许多个不相关的进程访问同一个逻辑 ...
分类:
系统相关 时间:
2021-01-04 11:19:12
阅读次数:
0
需求:静态创建任务(任务堆栈、控制块由用户自己指定) ①用一个任务创建两个任务Task1和Task2后,将自身任务删除 ②在Task1执行5次后,用Task1将Task2删除 ③Task1执行10次后,将自身删除 代码: ①需要将该宏打开: #define configSUPPORT_STATIC_ ...
分类:
其他好文 时间:
2020-12-24 12:00:47
阅读次数:
0
福哥答案2020-12-18: java:锁(Synchronized, ReentrantLock)、信号量(Semaphore)以及其他同步工具、原子类(atomicInteger)、加法器(adder)、累加器(accumulator)、不稳定(volatile)、线程安全的容器(Vector ...
分类:
编程语言 时间:
2020-12-23 12:34:15
阅读次数:
0
线程间通信的方式: 临界区:通过多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问; 互斥量Synchronized/Lock:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问 信号量Semphare:为控 ...
分类:
编程语言 时间:
2020-12-22 11:57:26
阅读次数:
0
FreeRTOS任务调度 架构:Cortex-M3 版本:FreeRTOS V9.0.0 前言:上一篇我们分析了任务的切换,其中写到了在vTaskSwitchContext里面的taskSELECT_HIGHEST_PRIORITY_TASK,计算uxTopReadyPriority 的前导零值,那 ...
分类:
其他好文 时间:
2020-12-21 11:17:49
阅读次数:
0
【原创】Java并发编程系列29|ConcurrentLinkedQueue收录于话题#java976#程序员2286#并发编程240#进阶架构师|并发编程专题12★★★建议星标我们★★★公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。2020年Java面试题库连载中【000期】Java最全面试题库思维导图【0
分类:
编程语言 时间:
2020-11-24 12:56:12
阅读次数:
9
Semaphore通常用于限制可以访问某些资源(物理或逻辑的)线程数目,我们可以自己设定最大访问量。它有两个很常用的方法是acquire()和release(),分别是获得许可和释放许可。官方JDK上面对Semaphore的解释是这样子的:一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可。每个release()添加一个许可,
分类:
编程语言 时间:
2020-11-10 11:43:24
阅读次数:
24
1 AQS state AQS 的关键 CAS Compare And Swap 修改 state Unsafe 使用 LockSupport 的 park()、unpark() 挂起和唤醒线程 同步队列 sync queue 条件队列 condition queue 等待队列 还有什么阻塞队列,看 ...
分类:
其他好文 时间:
2020-11-04 17:34:20
阅读次数:
14
操作系统中为了解决进程间同步问题提出了用信号量机制,信号量可分为四种类型分别是互斥型信号量,记录型信号量,AND型信号量,信号量集。 互斥型信号量 互斥型信号量是资源数量为1的特殊的记录型信号量。表示对于一类资源且这类资源的数量为1,也就是说任何时候只能有一个进程得到这个资源,其余进程想要获得此资源 ...
分类:
编程语言 时间:
2020-10-05 22:18:38
阅读次数:
28