python模型管道函数 python管道阻塞( 三 )


表头文件
#include
#include
定义函数
int mkfifo(const char * pathname,mode_t mode);
函数说明
mkfifo() 会依参数pathname建立特殊的FIFO文件 , 该文件必须不存在,而参数mode为该文件的权限(mode%~umask),因此 umask值也会影响到FIFO文件的权限 。Mkfifo()建立的FIFO文件其他进程都可以用读写一般文件的方式存取 。当使用open()来打开 FIFO文件时,O_NONBLOCK旗标会有影响
1、当使用O_NONBLOCK 旗标时 , 打开FIFO 文件来读取的操作会立刻返回,但是若还没有其他进程打开FIFO 文件来读取,则写入的操作会返回ENXIO 错误代码 。
2、没有使用O_NONBLOCK 旗标时,打开FIFO 来读取的操作会等到其他进程打开FIFO文件来写入才正常返回 。同样地,打开FIFO文件来写入的操作会等到其他进程打开FIFO 文件来读取后才正常返回 。
返回值
若成功则返回0 , 否则返回-1,错误原因存于errno中 。
错误代码
EACCESS 参数pathname所指定的目录路径无可执行的权限
EEXIST 参数pathname所指定的文件已存在 。
ENAMETOOLONG 参数pathname的路径名称太长 。
ENOENT 参数pathname包含的目录不存在
ENOSPC 文件系统的剩余空间不足
ENOTDIR 参数pathname路径中的目录存在但却非真正的目录 。
EROFS 参数pathname指定的文件存在于只读文件系统内 。
示例1:
#include
#include
#include
#include
int main(void)
{
char buf[80];
int fd;
unlink( "zieckey_fifo" );
mkfifo( "zieckey_fifo", 0777 );
if ( fork()0 )
{
char s[] = "Hello!\n";
fd = open( "zieckey_fifo", O_WRONLY );
write( fd, s, sizeof(s) );
//close( fd );
}
else
{
fd = open( "zieckey_fifo", O_RDONLY );
read( fd, buf, sizeof(buf) );
printf("The message from the pipe is:%s\n", buf );
//close( fd );
}
return 0;
}
执行
hello!
示例2:
#include
#include
#include
#include
#include
int main( int argc, char **argv )
{
mode_t mode = 0666;
if ( argc !=2 )
{
printf( "Usage:[%s] fifo_filename\n", argv[0] );
return -1;
}
if (mkfifo( argv[1], mode)0 )
{
perror( "mkfifo");
return -1;
}
return 0;
} [/code]
如何用 Python 实现一个图数据库(Graph Database)?本文章是 重写 500 Lines or Less 系列的其中一篇,目标是重写 500 Lines or Less 系列的原有项目:Dagoba: an in-memory graph database 。
Dagoba 是作者设计用来展示如何从零开始自己实现一个图数据库( Graph Database ) 。该名字似乎来源于作者喜欢的一个乐队,另一个原因是它的前缀 DAG 也正好是有向无环图 ( Directed Acyclic Graph ) 的缩写 。本文也沿用了该名称 。
图是一种常见的数据结构,它将信息描述为若干独立的节点( vertex ,为了和下文的边更加对称,本文中称为 node ) , 以及把节点关联起来的边( edge ) 。我们熟悉的链表以及多种树结构可以看作是符合特定规则的图 。图在路径选择、推荐算法以及神经网络等方面都是重要的核心数据结构 。
既然图的用途如此广泛,一个重要的问题就是如何存储它 。如果在传统的关系数据库中存储图,很自然的做法就是为节点和边各自创建一张表,并用外键把它们关联起来 。这样的话,要查找某人所有的子女,就可以写下类似下面的查询:
还好 , 不算太复杂 。但是如果要查找孙辈呢?那恐怕就要使用子查询或者CTE(Common Table Expression) 等特殊构造了 。再往下想,曾孙辈又该怎么查询?孙媳妇呢?

推荐阅读