分页: 1 / 1
关于进程通信同步函数的问题!
发表于 : 2007-11-09 16:35
由 stonecity
用c写进程间同步通信的程序,可是怎么一些函数都 没有呢?(比如 set_concurrency()等等),man 手册也没有相关信息,请问应该安装哪些东西呢??
多多感谢!!
发表于 : 2007-11-10 10:54
由 vupiggy
UNIX下进程同步传统上可以用管道,UNIX socket等等等等,但个人觉得最根正苗红的还是sys v信号量(semaphore)。系列函数是semget, semctl和semop,网上去找例子海了。
happy hacking;)
发表于 : 2007-11-10 18:24
由 stonecity
set_concurrency()呢,我机子里怎么没有啊
发表于 : 2007-11-10 22:27
由 vupiggy
老大,你这个set_concurrency是哪里看来的函数?是瘟到死平台下的?还是别人在pthread的原语上又包了一层的?非得用它么?你问是进程间通信,我可以负责任地说,进程间通信从来没有你说的这个函数。
如果用线程,倒是有个叫:pthread_setconcurrency 的。如果你想用man看到,要先装和posix有关的manpage。
发表于 : 2007-11-11 17:20
由 stonecity
我把所有的manpage都装了,(执行命令 apt-get install manpage* 和 apt-get install doc*)可是还是没有pthread_setconcurrency的帮助啊?
急!!
发表于 : 2007-11-11 23:55
由 vupiggy
stonecity 写了:我把所有的manpage都装了,(执行命令 apt-get install manpage* 和 apt-get install doc*)可是还是没有pthread_setconcurrency的帮助啊?
急!!
照说是在
manpages-posix-dev 这个包里的,如果你装了也没有就骂ubuntu的人去;)
问题是,你在这里急有什么用?不会google么?
懒得再理你了,这个问题也解决不了还编什么程序啊,和能力无关,态度是真够呛。
发表于 : 2007-11-12 22:08
由 stonecity
在google查也没结果
发表于 : 2007-11-12 23:44
由 vupiggy
发表于 : 2007-11-13 15:25
由 stonecity
奇怪了,我的机子的#include<pthread.h>里就是没有这两个个函数!!!奇怪万分!!
发表于 : 2007-11-13 23:21
由 vupiggy
我有点怀疑你去找了没有,打开pthread.h看了还是grep了?我在SuSE10.2和Ubuntu7.10的/usr/include/pthread.h下都看到了如下几行(位置都在420行左右):
#ifdef __USE_UNIX98
/* Determine level of concurrency. */
extern int pthread_getconcurrency (void) __THROW;
/* Set new concurrency level to LEVEL. */
extern int pthread_setconcurrency (int __level) __THROW;
#endif
发表于 : 2007-11-14 11:15
由 stonecity
pthread.h 里到是找到这个函数了,不过没有man 啊?看不了帮助,不知道怎么用啊!!
我把所有的doc和manual都装了
发表于 : 2007-11-14 22:51
由 vupiggy
嘿,楼上是不是来捣乱的?
"用c写进程间同步通信的程序,可是怎么一些函数都 没有呢?" 告诉你了进程间通信用semaphore。非要用什么set_concurrency不可?那好吧,用线程就用线程吧,告诉你用pthread_setconcurrency,你说是man找不到,贴了个手册页的链接给你,你又说pthread.h里没有这个函数,给你指出来那个函数明明在那里,你又绕回到man里找不到。FK
最后一次,
第一:检查一下自己用的是不是ubuntu,不是那还是上其它论坛上问问吧。
第二:dpkg -L manpages-posix-dev | grep pthread_setconcurrency 看看有没有:
/usr/share/man/man3/pthread_setconcurrency.3posix.gz,要是出错看看是不是因为manpages-posix-dev没有装 ,在那哭着喊着所有的doc和manual都装上了,就是不肯去看看这个包装没装,就是不肯说manpages-posix-dev到底装没装。上面的帖子已经告诉你了。
第三:要是这个包已经装了,/usr/share/man/man3/pthread_setconcurrency.3posix.gz仍然不存在,到牢骚抱怨版骂打包的人去,但是这可能性极小,没道理我的系统上这个包有这个文件而你却没有。
第四:要是明天还阻塞在这里,该干嘛干嘛去,天气不错出去走走,想想自己将来要干点别的什么,总之别混IT界,兴许你就有大成就了呢。
good luck
发表于 : 2007-11-15 22:23
由 stonecity
楼上的打击人啊!我用的是debian4.0
发表于 : 2007-11-23 0:47
由 zhanswer
能回答这么多东西已经很不错了,人家写这么多字不用时间阿。
楼主别抱怨了。