gpt4 book ai didi

multithreading - 将参数传递给 QThread 的 run() 方法

转载 作者:行者123 更新时间:2023-12-03 13:16:07 40 4
gpt4 key购买 nike

我已经将我的 Qthread 子类化,所以我可以在 run() 方法中实现我的代码。我必须给它传递一些参数,

我试过了,请问这里有什么问题吗?

class QMyThread :
public QThread
{
public:
QMyThread();
~QMyThread(void);
virtual void start(FILE *data, int sock, int bits);

protected:
virtual void run(FILE *data, int sock, int bits);
};

运行方法;

void QMyThread::run(FILE *data, int sock, int bits)
{
//do stuff
}

开始线程:

QMyThread *thread;
thread->start(datafile, sockint, bitsint);

首先它表示线程可能未初始化,然后它在 start() 方法中崩溃并出现 SIGSEGV 错误。谁能帮帮我?

最佳答案

您不应该子类化 QThread 类,因为这不再是使用 QThread 的推荐方式。

更多信息http://qt-project.org/doc/qt-4.8/qthread.html

要回答您的问题,难道您不能让这些参数成为您的类的成员并通过 setter 或其构造函数为它们分配值吗?

关于multithreading - 将参数传递给 QThread 的 run() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15252008/

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