Nginx源码分析—进程间通信机制
从nginx的进程模型可以知道,master进程和worker进程需要通信,nginx中通信的方式有套接字、共享内存、信号。对于master进程,从外部接受信号,master进程主要就是监控、接受外部信号,将有必要的信号传递给worker进程,master进程大部分时间都是阻塞在sigsuspend()函数调用上。Worker进程屏蔽了所有的外部信号,那么Ma...
分类:
系统相关 时间:
2014-11-20 23:46:04
阅读次数:
329
innodb是一个多线程并发的存储引擎,内部的读写都是用多线程来实现的,所以innodb内部实现了一个比较高效的并发同步机制。innodb并没有直接使用系统提供的锁(latch)同步结构,而是对其进行自己的封装和实现优化,但是也兼容系统的锁。我们先看一段innodb内部的注释(MySQL-3.23):
Semaphore operations in operating systems are s...
分类:
数据库 时间:
2014-11-16 12:07:02
阅读次数:
265
Java中的锁 锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂。因为锁(以及其它更高级的线程同步机制)是由synchronized同步块的方式实现的,所以我们还不能完全摆脱syn...
分类:
编程语言 时间:
2014-11-14 18:10:56
阅读次数:
255
什么是线程同步?当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。实现同步机制有两个方法:1。同步代码块:synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据。2。同步方法:pu...
分类:
编程语言 时间:
2014-11-13 00:22:11
阅读次数:
223
自旋锁(Spinlock)是一种 Linux 内核中广泛运用的底层同步机制。自旋锁是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态,而是忙等待该锁,一旦锁被释放,则第一个感知此信息的线程将获得锁。...
分类:
其他好文 时间:
2014-11-11 21:09:31
阅读次数:
316
Semaphore是JDK1.5之后出的一个实现同步的另一个方式。Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程数。假如你有3个资源,有10个线程要使用该资源,同时只能有3个线程使用,所以其余7线程在等待,只要3个中任意一个释放资源,那么7个线程中的一个就可以使用了。
另外,7个线程等待可以使随机获取机会,也可以是按...
分类:
编程语言 时间:
2014-11-09 15:22:35
阅读次数:
234
屏障是Linux中协调多个线程并行工作的同步机制,屏障允许每个线程等待直到所有的合作线程到达某一点,然后继续从该点执行,pthread_join是一种屏障但只允许一个线程等待,pthread_barrier允许任意数量的线程等待!...
分类:
编程语言 时间:
2014-11-06 17:38:28
阅读次数:
202
介绍通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行。这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码段加锁,让某一线程可以独占共享数据,避免竞争条件,确保数据一致性。但可惜的是,这属于阻塞性同步,所有其他线程...
分类:
编程语言 时间:
2014-10-31 18:56:36
阅读次数:
225
上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式。 在《UNIX环境高级编程》第二版的“第11章 线程”中,提到了三种基本的同步机制:互斥、读写锁、条件变量。下面分别针对这三种机制进行说明:一、线程互斥 互斥意味着具有“排它性”,即两个...
分类:
编程语言 时间:
2014-10-30 19:06:50
阅读次数:
286
Java? 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中
Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile
...
分类:
其他好文 时间:
2014-10-22 18:17:03
阅读次数:
197