2020年8月19日
摘要: GDB (The GNU Project Debugger)是 Linux 系统下调试 C 和 C++ 程序的主要神兵。Vim教程网(https://vimjc.com)介绍多种方式下使用 GDB 启动进程调试的方法和命令。 要使得 C 和 C++ 程序能在 GDB 下正常进行调试,必须在程序编译期 阅读全文
posted @ 2020-08-19 15:04 苦涩的茶 阅读(1538) 评论(0) 推荐(0) 编辑
摘要: QWaitConditon也是用来同步线程的。从名字来看是等待条件,意思就是线程阻塞在等待条件的地方,直到条件满足才继续执行下去。等待条件的线程可以是一个或者多个。用QWaitCondition的函数表示过程如下: 1.等待条件的线程调用QWaitCondition::wait()阻塞。 2.实现条 阅读全文
posted @ 2020-08-19 13:50 苦涩的茶 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: QSemaphore也是一个线程同步工具,这个工具像是QMutex的升级版。对于QMutex而言,只要一个线程拿到QMutex的使用权,其他线程再想要拿就必须等着。QSemaphore的使用权(或称资源)数量可以是多个,假如设置了QSemaphore的使用权有10个,第一个线程请求了5个剩下5个,第 阅读全文
posted @ 2020-08-19 13:42 苦涩的茶 阅读(1699) 评论(0) 推荐(0) 编辑
摘要: mutex一般称为互斥锁,是用于线程同步的。Qt帮助文档对QMutex有一段描述:QMutex是为了保护一个对象、数据结构或代码段,在同一个时刻只能有一个线程能访问它。我觉得这句话很容易误导人,看这句话会把关注点放在对象、数据结构或代码段上。但是个人觉得QMutex重点应该放在QMutex与线程的关 阅读全文
posted @ 2020-08-19 13:22 苦涩的茶 阅读(3724) 评论(1) 推荐(1) 编辑
摘要: QReadWriteLock从名字看就知道是读写锁的意思。和QMutex一样,QReadWriteLock也是线程同步的一种工具。那么它有什么用呢?和QMutex又有什么区别呢?写个例子瞧一瞧。 在写例子前,先看看要用到的函数:lockForRead、lockForWrite和unlock。比QMu 阅读全文
posted @ 2020-08-19 13:19 苦涩的茶 阅读(1571) 评论(0) 推荐(0) 编辑
摘要: Qt同步线程 我们知道,多线程有的时候是很有用的,但是在访问一些公共的资源或者数据时,需要进行同步,否则会使数据遭到破坏或者获取的值不正确。Qt提供了一些类来实现线程的同步,如QMutex,QMutexLocker,QReadWriteLock,QReadLocker,QWriteLocker,QS 阅读全文
posted @ 2020-08-19 11:36 苦涩的茶 阅读(1372) 评论(0) 推荐(0) 编辑

// 1.生成目录索引列表