
多线程
深圳市进化图灵智能科技有限公司
AI学习qq群 873673497|官网: turingevo.com
| 邮箱 : wmx@turingevo.com
| github: https://github.com/turingevo
| huggingface: https://huggingface.co/turingevo
为社会创造价值,交个朋友,合作共赢。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python 多线程唤醒,生产者-消费者
场景:生产者一次性生产total个商品(生产过程中不可购买),之后通知消费者抢购,当商品卖完后,由消费者通知生产者开始生产。在循环中添加一套"获取锁-释放锁",一个消费者购买完成后释放锁,其他消费者就可以获取锁来参与购买。由于场景是多个消费者进行抢购,如果将获取锁操作放在循环外(如生产者),那么一个消费者线程被唤醒时会锁住整个循环,无法实现另一个消费者的抢购。原创 2023-02-24 17:52:43 · 310 阅读 · 0 评论 -
高性能UDP接收, 不丢包,win API 版本
高性能UDP接收, 不丢包,win API 版本非阻塞方式连接由于采用阻塞模式,在没有数据的情况下会等待,这里我们接收立即返回,采用非阻塞模式 //设置非阻塞方式连接 unsigned long ul = 1; int ret = ioctlsocket(sock, FIONBIO, (unsigned long*)&ul); if (ret != NO_ERROR){ printf("ioctlsocket f原创 2021-07-29 00:27:11 · 1352 阅读 · 0 评论 -
QT 通用协议解析框架(三)
基类#ifndef WORKTHREAD_H#define WORKTHREAD_H#include <QWaitCondition>#include <QMutexLocker>#include <QMutex>#include <QThread>#include <QDebug>#include <atomic>/*! * \brief <WORKER 模板参数> 需要继承的基类 *原创 2021-07-03 16:01:58 · 701 阅读 · 0 评论 -
QT 通用协议解析框架(二)
QT 通用协议解析框架(二)外部自定义条件唤醒线程外部自定义解析协议函数workThread.h#ifndef WORKTHREAD_H#define WORKTHREAD_H#include <QWaitCondition>#include <QMutexLocker>#include <QMutex>#include <QThread>#include <QDebug>/*! * \brief <WORKE原创 2021-05-24 15:45:15 · 426 阅读 · 0 评论 -
QT 通用协议解析框架(一)
QT 通用协议解析框架次线程解析外部传入自定义解析函数条件等待唤醒protocolThread.h#ifndef PROTOCOLTHREAD_H#define PROTOCOLTHREAD_H#include <QWaitCondition>#include <QMutexLocker>#include <QMutex>#include <QThread>#include <QDebug>/*! * \brief原创 2021-05-20 15:44:08 · 754 阅读 · 1 评论 -
2种情况导致 QObject: Cannot create children for a parent that is in a different thread
2种情况导致 QObject: Cannot create children for a parent that is in a different thread1 需要移动的对象具有父对象2 对象obj moveToThread 之后,其它线程直接调用 objSerialInterface类 :SerialInterface::SerialInterface() : QObject(){ qCDebug(SerialLinkLog)<<Q_FUNC_INFO<&l原创 2021-05-08 10:19:26 · 775 阅读 · 0 评论 -
QtConcurrent 使用,多线程同步耗时,qdebug耗时
源码#define THREAD_Synchronization 0不使用线程同步,可以看到进度条非常快#define THREAD_Synchronization 1使用线程同步,可以看到进度条比较慢#include <QtWidgets>#include <QtConcurrent>#include <functional>using namespace QtConcurrent;#define THREAD_Synchronizati原创 2021-03-27 16:44:59 · 811 阅读 · 0 评论 -
QT 多线程传大量数据(传地址,然后接收线程用完删掉)
proQT += coreCONFIG += c++11SOURCES += \ main.cpp \ threadsignalslot.cppHEADERS += \ threadsignalslot.hthreadSignalSlot.h#ifndef THREADSIGNALSLOT_H#define THREADSIGNALSLOT_H#include <QObject>#include <QThread>#i原创 2021-03-26 17:12:08 · 947 阅读 · 3 评论 -
QThread 的两种创建方式:object moveTo thread 方式
QThread 的两种创建方式:object moveTo thread 方式**方法:工作对象继承QObject,包含 QThread 指针,创建Object 、创建QThread,然后object moveToThread() **代码:QSerial_Object_MoveTo_thread.proQT += coreQT += quickQT += serialportCO...原创 2019-02-28 20:10:00 · 986 阅读 · 0 评论 -
QThread 的两种创建方式:run方式
QThread 的两种创建方式:run方式方法:继承QThread,重写run()函数,在run函数里面实现线程代码代码:QSerial_run.proQT += coreQT += quickQT += serialportCONFIG += c++11DEFINES += QT_DEPRECATED_WARNINGSHEADERS += \ serialinte...原创 2019-02-28 19:49:12 · 2609 阅读 · 0 评论 -
linux多线程并发服务器
linux多线程并发服务器特点每个客户端一个线程,并发生产数据 (生产者)服务转发线程(消费者)使用条件变量唤醒生产者-消费者模式注意互斥锁的使用时机需要线程之间同步访问的地方加锁需要异步的地方不加锁/* 多线程 实现 高并发服务器*/#include<unistd.h>#include<pthread.h>#include<...原创 2020-04-30 15:34:49 · 333 阅读 · 0 评论 -
多核多线程自旋锁spinlock 与互斥量mutex性能分析
多核多线程 自旋锁(spinlock )与 互斥量(mutex)mutex方式:Mutex适合对锁操作非常频繁的场景,并且具有更好的适应性。尽管相比spin lock它会花费更多的开销(主要是上下文切换),但是它能适合实际开发中复杂的应用场景,在保证一定性能的前提下提供更大的灵活度。消耗时间的地方:(系统调用,mutex会在锁冲突时调用system wait)上下文切换对已经拿着锁的那个...原创 2019-08-24 16:15:38 · 1455 阅读 · 0 评论 -
linux多线程 条件变量 pthread_cond_ XXX 使用示例
linux多线程 条件变量 pthread_cond_ XXX 使用示例功能1 控制线程 void *thr_fun2(void *arg)输入字符 1 3 唤醒对应线程,9退出2 conditon1 条件下唤醒 void *thr_fun1(void *arg)3 conditon3 条件下唤醒 void *thr_fun3(void *arg)#include <pthr...原创 2020-04-30 12:22:26 · 290 阅读 · 0 评论