最新 最热

Go高阶12,手摸手带你深入了解 RWMutex 实现原理

之前我们介绍了互斥锁 Mutex,今天再来介绍下 RWMutex,即读写锁。读写锁是对 Mutex 的改进,在程序中,如果存在读操作多,写操作少的场景,使用 RWMutex 相比 Mutex 的并发能力会有很大的提升。...

2021-09-10
2

『操作系统』 进程的描述与控制 Part2 进程同步

(1)直接: 相互制约关系源于进程合作,表现为: 进程—进程 (同步:合作完成任务的关系!) 为完成同一个任务的诸进程间,因需要协调它们的工作而相互等待、相互交换信息所产生的直接制约关系。 这种制约主要源于进程间的合作。 发生...

2021-09-06
1

面试官:兄弟,说说进程和线程的区别吧?

进程(process)和线程(thread)不仅是操作系统中的两个基本概念,也是面试官最喜欢考察的问题之一,很有必要来搞清楚。

2021-09-03
2

深入理解Linux内核之进程睡眠(下)

可以发现sleep主要调用clock_nanosleep系统调用来进行睡眠(也就是说用户态任务睡眠需要调用系统调用陷入内核)。

2021-08-06
2

[Go]Golang中控制并发的sync包

Mutex:互斥锁RWMutex:读写锁WaitGroup:等待组Once:单次执行Cond:信号量Pool:临时对象池Map:自带锁的map

2021-03-11
2

线程与进程的区别?

进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每...

2021-01-14
2

实时性迷思(3)——80%时间屏蔽了中断,实时性还有救么?

在本系列的第一篇文章《实时性迷思(1)——快是优点么?》中,我们介绍了实时性的基本模型:

2020-12-22
1

你所理解的Synchronized关键字对吗

关于java中的Synchronized关键字是不是自旋锁?首先从OS级别来说它肯定不是,因为它用的是互斥锁,这个可以看openjdk源码可以发现它用的是mutex互斥量来实现的。然后站在用户级别虽然...

2020-10-26
2

C#多线程--信号量(Semaphore)

emaphore:可理解为允许线程执行信号的池子,池子中放入多少个信号就允许多少线程同时执行。

2020-08-19
2

C# semaphore的使用-2

其实.NET中的信号量(Semaphore)是操作系统维持的一个整数。当整数位0时。其他线程无法进入。当整数大于0时,线程可以进入。每当一个线程进入,整数-1,线程退出后整数+1。整数不能超过信号量的最大请求数。信号量在初始化的...

2020-08-19
2