【发布时间】:2011-10-28 17:53:22
【问题描述】:
我已经编写了一些库代码(用 C 语言)以方便创建和查询独立于平台的线程。这是创建线程的 API 的伪代码示例:
result OS_createThread (
pointer to thread handle (set after thread is created),
stack size,
function to run,
pointer to parameters,
priority )
根据平台,我使用包含特定操作系统实现的适当 c 文件来启动线程。例如
result OS_createThread (
// Windows implementation
map priority to Windows priority
// Use Win32 threading call
CreateThread(blah blah)
我已经为 Win32、POSIX 线程和一些我使用过的 RTOS 创建了端口。现在我需要为 Qt 环境执行此操作,我有点难过。首先,我是一个 Qt 新手,其次它看起来需要使用 QThread 类的面向对象的方法。
这样做的目的是向调用者隐藏线程创建的内容。调用者希望能够启动线程并维护该线程的句柄,以便它可以在将来执行一些操作,例如更改其优先级或终止它。
使用QThreads,每次请求新线程时是否需要创建一个新的QThread对象?请记住,调用代码不能包含任何特定于 Qt 的内容。
感谢任何指导!
【问题讨论】:
标签: c multithreading qt wrapper