比如我现在有一个写数据库或下载网络文件的耗时操作,用QThread来保持UI线程响应
以下几个对QThread的使用方案,哪个更好(安全性,便捷性等方面)?
(1)子类化QThread,重新实现它的run函数,把这个操作放到run函数中,run函数中处理完成后用该Thread发射信号通知主线程
(2)子类化QThread,在其中定义一个槽函数slot();在slot()中完成该耗时操作,在Thread的构造函数中调用moveToThread(this);然后在slot()中发射信号通知主线程
(3)定义一个QObject的子类,在在其中定义一个槽函数slot()和一个通知信号;在slot()中完成该耗时操作,在主线程中new一个QThrea,对Object调用moveToThread(辅助线程),然后连接信号和槽,在该slot()末尾发射信号通知主线程
================================================================================
或者除了用信号和槽机制之外,还有没有什么与主线程通信的方法?