gpt4 book ai didi

c++ - 将 "this"传递给线程 C++

转载 作者:行者123 更新时间:2023-11-30 03:05:18 28 4
gpt4 key购买 nike

在 C++ 中执行以下操作的最佳方式是什么。虽然我目前的方法有效,但我不确定这是最好的方法:

1) 我有一个大师类,里面有一些功能

2) 我有一个线程,它在套接字上接受一些指令,然后运行主类中的一个函数

3)master类中有多个线程访问各种函数

我创建主类,然后从主类创建线程类的实例。线程类的构造函数被传递给主线程的“this”指针。然后我可以在线程内运行主类中的函数——即我得到一个命令来做一些从线程中运行主类中的函数的命令。我有互斥量等来防止竞争问题。

我是不是以错误的方式处理这个问题 - 线程类似乎应该继承主类,或者另一种方法是不具有单独的线程类,而只是将它们作为主类的函数,但这变得很难看。

最佳答案

我觉得不错。在我的服务器中,它被称为“SCB” - ServerControlBlock - 并提供对服务的访问,例如 IOCP 缓冲区/套接字池、记录器、状态/错误消息的 UI 访问以及所有处理程序线程需要通用的任何其他内容。工作正常,我不认为它是 hack。

在创建使用 SCB 的线程池之前,我创建了 SCB(并确保在 ctor 中通过它访问的所有服务都已启动并准备好使用)——没有令人讨厌的单例内容。

Rgds,马丁

关于c++ - 将 "this"传递给线程 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7798237/

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