我是靠谱客的博主 俊秀纸飞机,最近开发中收集的这篇文章主要介绍Qt入门教程【QObject篇】重入性和线程安全重入性和线程安全,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

重入性和线程安全

在整个文档中,术语*“重入”“线程安全*”用于标记类和函数,以指示如何在多线程应用程序中使用它们:

  • 线程安全函数可以从多个线程同时调用,即使调用使用共享数据也是如此,因为对共享数据的所有引用都是序列化的。
  • 也可以从多个线程同时调用重入函数,但前提是每个调用都使用自己的数据。

因此,线程安全函数始终是可重入的,但可重入函数并不总是线程安全的

通过扩展,如果可以从多个线程安全地调用某个类的成员函数,则称该类是可重入的,只要每个线程使用该类的不同实例即可。如果可以从多个线程安全地调用该类的成员函数,则该类是线程安全的,即使所有线程都使用该类的同一实例也是如此。

注意: Qt 类只有在打算由多个线程使用时才被记录为线程安全的。如果函数未标记为线程安全或可重入,则不应从不同的线程使用它。如果某个类未标记为线程安全或可重入,则不应从不同的线程访问该类的特定实例。

重入率

C++类通常是可重入的,仅仅是因为它们只访问自己的成员数据。任何线程都可以在重入类的实例上调用成员函数,只要没有其他线程可以同时调用该类的同一实例上的成员函数即可。例如,下面的类是可重入的:Counter

class Counter
{
public:
    Counter() { n = 0; }

    void increment() { 

最后

以上就是俊秀纸飞机为你收集整理的Qt入门教程【QObject篇】重入性和线程安全重入性和线程安全的全部内容,希望文章能够帮你解决Qt入门教程【QObject篇】重入性和线程安全重入性和线程安全所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部