其他分享
首页 > 其他分享> > 等待C中的通知

等待C中的通知

作者:互联网

与C没有严格关联,我正在寻找更多关于如何处理这个问题的设计模式或建议.

说我有

class A
{
public:
   void process();
   void wait();
}

我将首先调用process(),其中(duuh)执行一些处理,然后调用wait(). wait()函数应该等待通知然后退出.我已经在单独的线程上有通知的逻辑,但我不确定最好的方法是什么.

我想到的是:

void A::wait()
{
   while ( _notificationOccured == false )
   {
   }
}

其中_notificationOccured可以是A的bool成员,将由通知更改.但是,再次,我不确定这是最好的方法.有什么建议?

解决方法:

池化变量会产生糟糕的性能,因为池化线程几乎占用了所有CPU时间.您需要使用事件或消息 – 这些内容是特定于平台的.您可以使用一些可移植库,例如Boost.

标签:c,language-agnostic,design-patterns,notifications,wait
来源: https://codeday.me/bug/20190902/1793959.html