gpt4 book ai didi

linux - Windows 和 Linux IPC 的信号

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:20 26 4
gpt4 key购买 nike

为了代码在 Windows 和 Linux/Unix 之间兼容。我想使用MingW的工具集和CodeBlocks进行开发,这样代码可以在Linux和Windows上编译运行。我尝试设计的系统是一个非常繁忙、繁重的数据交换系统,就像服务器和客户端一样,都在同一个盒子里运行,时间安排很关键。所以我需要Server和Client之间的IPC。我想通过用户信号通知很多客户端在某些特定的时间进行一些数据处理 Action 。这意味着我需要一组用于不同操作的信号。当我将这些信号发送给客户端时,我还需要发送一两个参数。事件处理、消息传递、插槽、命名管道、套接字等 IPC 方法可能无法满足我的目的,因为它们需要客户端不断地抽取/查看传入的信息,这将占用繁忙系统的 CPU。)所以想法方法将是信号,客户正在 sleep ,只有在收到信号后才会醒来做工作。对于 Linux 端,看起来我可以使用足够的用户信号(特定的 sigaction)。但对于 Windows 端,信号仅限于 SIGABRT、SIGFPE、SIGILL、SIGINT、SIGSEGV、SIGTERM。没有用户信号,也不能传递参数。另外,我需要服务器能够通过他们的 pid 向所有客户端广播信号。我查看了 boost 和其他软件,到目前为止还找不到我可以用于 Windows 的软件。有什么建议吗?

最佳答案

我最终使用了 boost 的消息队列和共享内存。消息传递充当传递大数据的信号和共享内存。稍后将测试其他方法以进行 CPU 性能比较。

关于linux - Windows 和 Linux IPC 的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49201182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com