首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自ThreadPool的QNetworkAccessManager

来自ThreadPool的QNetworkAccessManager
EN

Stack Overflow用户
提问于 2011-05-07 02:50:56
回答 2查看 4.2K关注 0票数 4

一个非常基本的问题。文档提到QNetworkAccessManager中的所有方法都是可重入的。如果是这样的话,在没有锁的QRunnable中执行get()方法合法吗?我的代码应该是这样的:

代码语言:javascript
复制
class MyClass: public QRunnable
{
    void run()
    {
        ...
        QNetworkAccessManager nam;
        QNetworkReply* reply =  name.get(request)    // No Read-write lock.
        ...
    }
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-07 03:15:05

来自the Qt documentation

...如果一个类的成员函数可以同时从多个线程中安全地调用,那么这个类就是可重入的,只要每个线程使用该类的不同实例即可。

因为您每次都使用一个不同的实例(在run()中在堆栈上创建的实例),所以您是安全的。

票数 3
EN

Stack Overflow用户

发布于 2011-05-08 06:41:01

顺便说一句,如果您只想让GET请求是异步的,那么QNetworkAccessManager已经是异步的了(文档中已经这么说了)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5915771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档