原帖由 "无双" 发表:
目的是想用一个函数来得到多个信号量的事件
这没有MSDN
不知道这样理解对不对
原帖由 "channelV" 发表:
sysv 标准下用这样的
sembuf ops;
ops.sem_num = 0;
ops.sem_op = -1;
ops.sem_flg = 0; //0, IPC_NOWAIT, SEM_UNDO
if ( semop(gsem_key, &ops, 1) == 0 )
return WAIT_OBJECT_0;
posix标准下?.........
原帖由 "channelV" 发表:
其实是一样的了,unix/linux据我所知好像还没有提供这样的函数,你可以自己来写一个函数,里面是一个循环
waitformultipleobject--
for(int i=0; i<##; i++)
{
if(sem_wait() != wait_object_0)
..........
原帖由 "channelV" 发表:
其实是一样的了,unix/linux据我所知好像还没有提供这样的函数,你可以自己来写一个函数,里面是一个循环
waitformultipleobject--
for(int i=0; i<##; i++)
{
if(sem_wait() != wait_object_0)
..........
原帖由 "无双" 发表:
你用sem_wait
那么就会阻塞在那了
因为sem_wait是阻塞函数
所以不能实现这个功能
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |