并发与竞争

5 篇文章
Linux 进程与线程(三)线程安全和高级I/O
对共享资源的访问进行保护 假设对于全局变量a,线程1和线程2都需要访问,a就是多个线程间的共享资源 保护的目的是解决数据一致性问题 当变量可以被多个线程修改和读取时,存在数据一致性问题,需要保证每个线程都能读取到有效且正确的值 数据一致…
2771 字
|
14 分钟
Cover Image of the Post
Linux 进程与线程(二)线程
线程是参与系统调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流(或者说是执行路线、执行流),一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。譬如某应用程序设计…
4084 字
|
20 分钟
Cover Image of the Post
FreeRTOS 任务、任务列表、任务切换和任务间通信
运行态(Running) 任务当前正在 CPU 上执行 在单核系统中,同时只有一个任务处于运行态 任务只有在调度器(Scheduler)选择它执行时,才会进入运行态 就绪态(Ready) 任务已经具备执行条件,但由于 CPU 资源被其他…
3897 字
|
19 分钟
Cover Image of the Post
Linux 进程与线程(一)基本概念与信号
进程:资源管理的最小单位 线程:程序执行的最小单位
4063 字
|
20 分钟
Cover Image of the Post
Linux并发与竞争
原子操作能够在无锁条件下实现线程安全操作,避免多个线程同时修改变量导致数据竞争。比较适用于简单的计数或标志变量等小型共享数据。但是原子操作只能保证单个原子变量的原子性,不能保护复杂数据结构。并且虽然其不会导致线程阻塞,但可能导致活锁,即…
1492 字
|
7 分钟
Cover Image of the Post