将正在运行的线程中的函数移动到新线程?
我在类文件中有一个读写函数。该类是QThread
类的子类并重写了run,没有信号和槽,它基本上在线程中运行数据处理功能。在其构造函数中是方法 movetothread(this)
。为了让这两个函数形成一个队列并实现多线程, 我可以在 write 函数中调用 movetothread(secondthread)
吗?
void write(args)
{
movetothread(secondthread);
}
使写入函数在单独的线程上运行。 写入功能如何以及何时停止?
I have a read and write function in a class file. this class subclasses QThread
class and overrides run, does not have signals and slots ,It basically runs data processing functions in a thread. in its constructor is the method movetothread(this)
. To have the two functions to form a queue and implement muli-threading ,
can i make a movetothread(secondthread)
call in the write function?
void write(args)
{
movetothread(secondthread);
}
to make the write function run on a separate thread.
How and when does the write function stop?.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实并非如此。
QObject::moveToThread
将对象与另一个线程关联,而不是与调用函数关联。此外,这仅影响未来的事件处理。It doesn't work that way.
QObject::moveToThread
associates the object with another thread, not the calling function. Furthermore, this affects future event processing only.