在 Qt 中,可以使用 QMutex 类来实现加锁操作。\n\n以下是一个简单的示例代码,展示了如何在 Qt 中使用 QMutex 来加锁:\n\ncpp\n#include <QMutex>\n#include <QThread>\n\n// 创建一个全局的 QMutex 对象\nQMutex mutex;\n\n// 线程函数\nvoid myThreadFunction()\n{\n // 加锁\n mutex.lock();\n\n // 执行需要加锁的操作\n // ...\n\n // 解锁\n mutex.unlock();\n}\n\nint main(int argc, char *argv[])\n{\n QThread thread;\n\n // 创建线程\n thread.create(myThreadFunction);\n\n // 启动线程\n thread.start();\n\n // 等待线程完成\n thread.wait();\n\n return 0;\n}\n\n\n在上面的示例中,我们首先创建了一个全局的 QMutex 对象mutex,然后在线程函数myThreadFunction中使用mutex.lock()来加锁,mutex.unlock()来解锁。在主函数中,我们创建了一个 QThread 对象thread,并调用thread.create(myThreadFunction)来创建线程,然后调用thread.start()来启动线程,最后调用thread.wait()等待线程完成。\n\n在实际使用中,可以根据需要在需要加锁的代码块中加入mutex.lock()mutex.unlock()来实现加锁和解锁操作。需要注意的是,加锁和解锁的操作应该成对出现,以确保锁的正确使用。

Qt 加锁:使用 QMutex 实现线程同步

原文地址: https://www.cveoy.top/t/topic/pWFt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录