Linux
jie310600
这个作者很懒,什么都没留下…
展开
-
Linux线程同步 读写锁 rwlock
读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 1. 当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞; 2. 当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行枷锁的线程将阻塞; 3. 当读写锁在读模式锁状态时,如果有另外线程试图以写模式加锁,读写锁...原创 2016-08-17 11:54:49 · 148 阅读 · 0 评论 -
Linux的原子操作与同步机制
[b]Linux的原子操作与同步机制 [/b] [b]并发问题[/b] 例如C语言语句“count++;”在未经编译器优化时生成的汇编代码为多条机器指令来实现的。 [b]例子:[/b] 假设count变量初始值为0。进程1执行完“mov eax, [count]”后,寄存器eax内保存了count的值0。此时, 进程2被调度执行,抢占了进程1的CPU的控制权。进程2执行“...原创 2016-08-18 08:34:04 · 97 阅读 · 0 评论 -
日志文件系统
[b]日志文件系统[/b] 日志文件系统当然要记录日志,而日志也需要占存储空间。所以,日志文件系统就是在存储介质上开辟一个块特殊的区域专门用于存储日志信息: 所有新数据首先写入日志,然后再写入它的最终位置。在崩溃情况下,可以重放日志,使数据和元数据处于一致的状态。 日志文件系统的一种方式就是用COW(Copy-On-Write 写时复制)来实现的. [b]Copy-...2016-09-06 10:14:45 · 175 阅读 · 0 评论 -
IO - 同步,异步,阻塞,非阻塞,AIO
[b] IO - 同步,异步,阻塞,非阻塞[/b] [b]阻塞与非阻塞(进程有没有挂起)[/b] 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.(就是进程有没有被挂起) 阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。 非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。 [b]同步与异步(调用有没有等待返回结...2016-09-06 14:43:17 · 106 阅读 · 0 评论 -
select、poll、epoll之间的区别总结
[b]select、poll、epoll之间的区别总结[/b] select,poll,epoll都是IO多路复用的机制。 [b]select[/b] 以文件描述符作为测试对象,(文件描述符大小有限制(默认是1024)) [b]select的调用过程:[/b] (1)使用copy_from_user从用户空间拷贝fd_set到内核空间 (2)注册回调函数__poll...2016-09-06 14:46:07 · 103 阅读 · 0 评论 -
Linux 命令使用集
Linux 命令使用集 //==================================================文件编辑 vim i → Insert 模式,按 ESC 回到 Normal 模式. x → 删当前光标所在的一个字符。 :wq → 存盘 + 退出 (:w 存盘, :q 退出) (陈皓注::w 后可以跟文件名) dd → 删除当前行,并把删除的行存到...2017-01-06 16:40:29 · 71 阅读 · 0 评论 -
shell 语法
shell 语法 #!/bin/bash //#!告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell echo "Hello World !" Shell 变量 定义变量 your_name="runoob.com" //变量名和等号之间不能有空格 使用变量 echo $your_name //只要在变量名前面加美元符号即可 echo ${...原创 2017-09-09 10:59:50 · 68 阅读 · 0 评论