一个进程中有几个进程和一些线程。 所有的stream程都需要互相交stream。 一个进程中的线程需要与进程进行通信(主线程)。 我想知道这个devise是否有效:
每个进程都有一个msg队列(使用msgget(),msgsnd,msgrcv()),以便他们可以通过linux API相互交谈。
每个线程都有一个msg队列(也使用msgget,msgsnd,msgrcv),以便它可以与主线程和其他线程交谈。 所以,线程驻留的这个进程将有进程队列和线程的队列,是否有任何问题?
我很担心项目2,因为我学到的是msgget,msgsnd,msgrcv是进程间通信。 我阅读有关这些function的手册。 看起来没有提到这些function是否支持线程。 另外,请你参考一些最好的在线Linux / Unix手册吗? 我不擅长它,因为我觉得很难find我想要的东西,如果一个函数或信号量可以支持线程/手动。 愚蠢的问题, :)。
请帮忙。 谢谢。
所以,线程驻留的这个进程将有进程队列和线程的队列,是否有任何问题?
不是没有问题,每个消息队列由唯一的队列标识标识,线程或进程可以提供此队列标识的任何人都可以访问消息队列。
如果它给了你任何的安慰,我已经使用消息队列的线程上下文切换完美无瑕,所以要放心的工作。
通常最好只安装unix / Linux,但是由于您要求提供在线资源,您可以参考在线Linux手册页以供参考。