gpt4 book ai didi

multithreading - 有关QThread实现的问题

转载 作者:行者123 更新时间:2023-12-03 13:15:46 26 4
gpt4 key购买 nike

一个QThread对象代表一个执行线程。但是,在创建QThread对象或调用start()方法时是否创建了OS线程?

我对是否可以放置几个QThread对象感兴趣,并且操作系统将在start()上创建线程并在run()返回后将其杀死,然后可以再次使用QThread对象。但是我不想在QThread对象没有做任何事情的情况下保留OS资源。

(出于记录,我知道QtConcurrent和QThreadPool,不,在这种情况下它们不能满足我的需求)

最佳答案

在Linux中,在pthread_create方法期间创建了线程对象(通过QThread::start)。与Windows大致相同。

您可以在此处查看源代码:

Unix:http://qt.gitorious.org/qt/qt/blobs/master/src/corelib/thread/qthread_unix.cpp(第542行)。

Windows:http://qt.gitorious.org/qt/qt/blobs/master/src/corelib/thread/qthread_win.cpp(第419行)。

关于multithreading - 有关QThread实现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2268998/

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