我想请教一个问题,假如我有两个进程。都是tcp 通信。假如2个进程里面都对同一个设备进行读写操作,是不是我的建立两个套接字,还是在一个进程里建立一个套接字,把文件描述符传递给另外一个进程? 可以不?
进程A会在文件末尾添加内容;进程B会修改文件中的某个位置,但是不影响文件大小。 请问该怎么解决冲突?mmap共享文件的话似乎不能增加文件长度,是不是只能使用fcntl文件锁?
如下程序test.pl,开2个子进程读同一个文件test.txt,大约50M,第二个进程用了SEEK到大约文件的一半位置 重启机器笔记本,然后执行test.pl,耗时 8秒-12秒 如果把sub2的 seek去掉,重启机器,第一次执行test.pl 仅耗时1.6秒 为啥啊?太郁闷了! 另外如果只开一个进程读文件全部行,也只耗时1.6秒 笔记本单CPU双核 use Time::HiRes qw(gettimeofday); my ($start_sec, $start_usec) = gettimeofday; my @childs; for (my $count ...
a.c [code] int i; a() { i = 1; } [/code] b.c [code] iint i; int main() { a(); } [/code] [code] cc a.c b.c [/code] 竟然没问题 怎么变量i不冲突的吗?
大家给看看,这其中的rootdbs和d1160是不是硬盘的同一个区域(openserver5.06系统) 先看看设备文件: 注意次设备号 $ pwd /dev $ ls -al *rootdbs brw-r----- 1 sysinfo sysinfo 1,104 Apr 4 2003 rootdbs crw-rw---- 1 informix informix 1,104 May 12 12:07 rrootdbs $ ls -al *d1160 brw-rw---- 1 informix informix 1, 72 Apr 4 2003 d1160 crw-rw---- 1 informix informix 1, 72 Apr 30 22:42 rd1160...