Linux
洗菜剑心
骐骥一跃,不能十步。驽马十驾,功在不舍。
展开
-
Linux 管道
什么是管道管道是最基本的进程间通讯,它是半双工的通讯(数据流是定向的)。它创建于内存缓冲区中,用于连接一个写进程一个读进程,大小刚好为一个页(4KB)。一个进程把数据写入管道,由内核定向的流入另一个读进程。(多进程通讯中要用锁控制,防止一个进程在读取管道里数据没读完就被其他进程读走之类的问题)管道概念管道用的是利用文件系统file结构,和VFS索引节点inode来完成的结构。通过两个file文件指...原创 2018-04-19 00:16:04 · 1644 阅读 · 0 评论 -
信号量
什么是信号量信号量主要保护共享资源的,确保该资源在同一时刻只有一个线程占用。换句话说它就是控制多进程(多线程)共同访问共享资源的一种手段。信号量的定义最初的定义:信号量是一个特殊的变量,它只能取正整数值,并且程序对其访问都是原子操作。正式的定义:它是一个特殊的变量,只允许对它进行等待和发送信号。信号量就是一种特殊的计数器当其值>0时,其表示可用临界资源的个数当其值<0,表示资源忙,至少...原创 2018-04-30 18:29:41 · 5417 阅读 · 0 评论