gpt4 book ai didi

c++ - 将 g_thread_new 与结构一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:39 34 4
gpt4 key购买 nike

我想在自己的线程中启动一个结构方法:

g_thread_new( "NewThread", mymethod , NULL)

问题是,只有当我将方法设置为“静态”时,程序才会编译:

static gpointer mymethod(gpointer nrp) { puts(this->mystring) ; ... }

但是如果我将方法设置为“静态”,我将无法访问像这样的结构实例变量->mystring。

有没有办法将 g_thread_new 与类方法一起使用并访问实例变量?

最佳答案

您可以而且应该做的是在静态函数中接收一个 void* 作为来自线程的参数。该 void* 是您希望其函数调用的对象。只需将其转换为对象的类型并调用该方法即可。

此外,请考虑使用boost::thread

关于c++ - 将 g_thread_new 与结构一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818189/

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