评论

收藏

[jQuery] Qt可重入和线程安全机制

开发技术 开发技术 发布于:2021-07-08 16:58 | 阅读数:518 | 评论:0

  在本文中,主要讲述Reentrancy and Thread-Safety机制,中文意思是可重入和线程安全,以指示它们如何在多线程应用程序中使用。
  对于线程安全的函数, 即使调用使用共享数据,也可以被多个线程同时调用,因为对共享数据的所有引用都是序列化的。
  可重入函数也可以从多个线程同时调用,但只有在每次调用都使用自己的数据时才可以。
  因此,线程安全的函数总是可重入的,但可重入的函数并不总是线程安全的。
  综上可知,如果一个类的成员函数可以从多个线程安全地调用,那么这个类就是可重入的,只要每个线程使用该类的不同实例。如果可以从多个线程安全地调用该类的成员函数,即使所有线程都使用该类的同一个实例,该类也是线程安全的。例如QTcpSocket,Qt助手的描述:All functions in this class are reentrant.
Reentrancy  C++ classes are often reentrant, simply because they only access their own member data. Any thread can call a member function on an instance of a reentrant class, as long as no other thread can call a member function on the same instance of the class at the same time. For example, the Counter class below is reentrant:

  
关注下面的标签,发现更多相似文章