有时一个互斥量是不够的:
比如:
当多个线程同时访问一个队列结构时,你需要2个互斥量,一个用来保护队列头,一个用来保护队列元素内的数据。
当为多线程建立一个树结构时,你可能需要为每个节点设置一个互斥量。
同时使用多个互斥量会导致复杂度的增加
最坏的情况就是死锁的发生,即两个线程分别锁住一个互斥量而等待对方的互斥量。
多互斥量可能导致死锁:
如果...
分类:
编程语言 时间:
2014-05-13 16:32:03
阅读次数:
533
对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。
次安装方法同样适用于产品环境!
系统需求
首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:
Mac OS X任意 Linux 发行版本(Ubuntu,CentOS,
Redhat, Ar...
分类:
其他好文 时间:
2014-05-13 16:07:28
阅读次数:
259
0.等待队列
在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们。
等待队列由循环链表实现,由等待队列头(wait_queue_head_t)和等待队列...
分类:
其他好文 时间:
2014-05-13 16:03:28
阅读次数:
370
最近看了很多公司架构的演变的文章,发现其中的基本思路和架构演变都很类似,这里也总结一下数据库架构的演变以及演变背后的思路。
单主机
最开始网站一般都是由典型的LAMP架构演变而来的,一般都是一台linux主机,一台apache服务器,php执行环境以及mysql服务器,一般情况下,这些都在一台虚拟主机上,简称单主机模式。...
分类:
数据库 时间:
2014-05-13 15:24:25
阅读次数:
434
安装opencv2.0
解压OpenCV-2.0.0.tar.bz2
tar xvf OpenCV-2.0.0.tar.bz2
配置
./configure --host=arm-linux --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --wi...
分类:
系统相关 时间:
2014-05-13 14:51:36
阅读次数:
402
绿色代表进程(进程的性质)橙色代表文件(文件的性质)。当进程试图打开文件时,内核会进行如下权限测试:
0. 若进程的有效用户ID是0(超级用户),则允许访问。
1. 若进程的有效用户ID等于文件的所有者ID,那么进行文件所有者访问权限的测试(与open的参数对比),对应图中的1。
2. 若进程的有效组ID或进程的附加组ID之一等于文件的组ID,则进行文件所属组的权限测试,对应图中...
分类:
系统相关 时间:
2014-05-13 14:26:58
阅读次数:
354
串口本身,标准和硬件 ?
串口是计算机上的串行通讯的物理接口。计算机历史上,串口曾经被广泛用于连接计算机和终端设备和各种外部设备。虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。虽然现在在很多个人计算机上,原来用以连接外部设备的串口已经广泛的被USB和Firewire替代;而原来用以连接网络的串口则被以太网替...
分类:
系统相关 时间:
2014-05-13 13:44:03
阅读次数:
296
最近在做视频输出相关的东西,对于预留给framebuffer的内存使用不是很清楚,现在找到一些资料整理一下,以备使用。
对于一个系统来讲,会有很多的外设,那么这些外设的管理都是通过CPU完成。那么CPU在这个过程中是如何找到外设的呢?
尽管在一个系统中会有诸多的外设,在每个外设的接口电路中会有多个端口。但是如果系统能够每个端口都被赋予一个具体的地址值,那么在系统中就能轻易的找到任何一个外设。系...
分类:
系统相关 时间:
2014-05-13 11:27:38
阅读次数:
393
引言:
在Linux中,目录也是文件,我们在使用linux系统时,一般使用mkdir命令创建新的目录,跟命令相对应的也有创建目录、删除目录的函数。
(一)
用mkdir函数创建目录,用rmdir函数删除目录。注意:当我们在创建普通文件时,一般指定文件的mode为读、写权限,但对于目录,我们至少要设置1个执行权限,以允许访问该目录中的文件名。用rmdir函数删除一个空目录。函数原型如下:
...
分类:
系统相关 时间:
2014-05-13 11:16:19
阅读次数:
358
大概一年前学了一段时间Linux,但没有坚持下来……最近又想开始看,以前希望看到Linux在物理机下的运行情况而不是仅仅在虚拟机下运行,所以尝试着在已经安装了Win7的系统下安装CentOS,实现双系统切换使用的目的。以前没时间,现在把我的方法给大家介绍一下,希望对大家有帮助。
注意:1.由于涉及....