zoukankan      html  css  js  c++  java
  • QWaitCondition 的思考2

    本文章为原创,如引用请指明出处

    th

    • 问:QWaitCondition的 wake() ,wakeall() 函数唤醒的是哪些线程呢?

    是不是在全局范围内该类的各个对象造成的悬挂线程都可以被唤醒呢?

    回答:不是。通过自己编写了一个例子证明:

    QWaitCondition唤醒的只是由某个具体的QWaitCondition的对象(例如,A)通过和若干个QMutex协作,阻塞的线程,才能通过 A.wakeOne(),或 A.wakeAll() 唤醒

    如有需要可留言,将例子上传。

    • 个人认为线程同步有两种方式

    主动方式,如互斥量,信号量。特点:阻塞的线程主动侦测是否可以运行,不需要唤醒

    被动方式,如 QWaitCondition 。特点:阻塞了线程,并且在条件允许的情况下通过 wake /wakeall 将阻塞的线程激活继续运行。

  • 相关阅读:
    vue零散知识
    vue router 和 组件生命周期的理解
    未搞懂的问题
    前端问题总结
    垂直居中
    css,js加载阻塞页面渲染的理解
    node 学习
    自定义事件
    学习react 遇到的问题
    [AHOI2001]彩票摇奖
  • 原文地址:https://www.cnblogs.com/keleman/p/6652311.html
Copyright © 2011-2022 走看看