gpt4 book ai didi

C++ 单例线程问题

转载 作者:行者123 更新时间:2023-11-28 03:56:31 24 4
gpt4 key购买 nike

我有一个作为单独线程运行的 C++ 单例。这个单例派生自库提供的基类,它覆盖了 onLogon(...) 方法。 onLogon 方法是同步的,它想立即知道我们是否接受登录尝试。

问题是我们需要通过消息将登录信息传递给安全服务器。我们可以向安全服务器监听器(一个单独的线程)注册一个回调,以获取我们发送的登录验证消息的结果。我的问题是如何阻止 onLogon 方法,以便我可以通过我在安全服务器监听器线程中注册的回调唤醒线程,然后如何在线程中访问从安全服务器返回的响应- 安全方式(即,我需要能够处理多个并发登录请求)。

我完全被难住了。

最佳答案

使用空信号量。将凭据发送到安全服务器后,获取信号量。因为它将是空的,它将阻止执行。然后将回调函数发布到信号量。然后将在原始线程上恢复执行。

由于回调通常允许将匿名值作为参数传递,因此您可以注册一个指向可以用响应填充的数据结构的指针。

关于C++ 单例线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3346446/

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