- 博客(40)
- 资源 (48)
- 收藏
- 关注
原创 (转载)std::mutex && std::condition_variable
当条件不满足时,线程将对互斥量解锁,并重新等待。这就是为什么用std::unique_lock而不使用std::lock_guard的原因——等待中的线程必须在等待期间解锁互斥量,并对互斥量再次上锁,而std::lock_guard没有这么灵活。数据准备好时,使用std::lock_guard锁定队列,将准备好的数据压入队列②之后,线程会对队列中的数据上锁,并调用std::condition_variable的notify_one()成员函数,对等待的线程(如果有等待线程)进行通知③。
2024-09-22 09:43:14 954
原创 C++11 lambda块参数传递
loop_->queueInLoop([this, pre]{//看Functor定义也可以写成 loop_->queueInLoop([this, pre](){EventPtr ev = std::make_shared(cb);//cb回调传递给Event对象。postEvent([fn](Event* ev) {//参见EventCallback定义。
2024-09-21 20:50:53 255
原创 (转载)智能指针shared_ptr从C++11到C++20
shared_ptr和动态数组 - apocelipes - 博客园 (cnblogs.com)
2024-09-21 20:15:30 255
原创 转载std::move, right reference
C++ 右值引用 std::move和std::forward的使用_c++ std::forward-CSDN博客
2024-09-21 19:44:21 134
原创 Vulkan描述符、描述符Pool、Layout概念
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,//描述符类型,表明只有UNIFORM缓冲才能包含在下面创建的DescriptorSetLayout中。//DescriptorSetLayout定义了哪些描述符Descriptor类型(Buffers、Textures、Samplers)可以包含在其中。
2024-09-06 21:35:53 246
转载 brpc compile&run
最后切换到example/echo_c++目录下,make出server和client,执行查看效果。最后还要修改下Makefile文件——增加"-std=c++11"一切准备就绪,到brpc的目录下执行。protobuf是源码编译的。zlib是源码编译的。
2024-05-02 08:58:19 133
原创 安装openssl遇到的Cannot locate FindBin.pm
成功后继续cpan IPC::Cmd既可成功。1、安装perl可以解决。然后还需要安装cpan。
2024-04-21 11:59:05 303
原创 centos-stream 安装QT遇到的一些问题
/qtcreator 启动不起来,Could not load the Qt platform plugin "xcb" in "" even though it was found.
2024-04-13 07:46:34 232
原创 brpc框架真是太复杂了,第一代程序员都老了
我为啥说第一代程序员都老了,退出历史了,因为现在动不动就是json就是protobuf,还有cmd string等等,第一代程序员最早接触网络开发的,使用的都是select IOCP还有epoll,而普通使用的是TCP binary数据包,需要粘包处理,想想现在的程序员都被国外的工程师给绑架了,一点创新都没有了,都是拿来主义,pb还有mysql都是舶来品,好用是好用,但却限制了国内工程师的发展。tcp_listen创建了套接字。
2024-04-03 20:39:13 180 1
原创 关于epoll的actor设计思想
所以为了效率IO事件只需要一个线程去epoll_wait,每个service一个IO线程,或者,多个主机负责监听一个端口服务一个service,让网关进行负载均衡,这样主机群可以处理大量的accept进来,每台主机10万,10台就是100万。也看了很多关于框架的文章,但是写得乱七八糟,真正的好文章应该基于进程和线程和线程任务来说,无非就是数据的存储和处理,这就涉及到结构和线程,线程多少个,都是什么线程,处理那些任务,线程间通信,如何并发安全,等等。网络上经常写文章的大部分都是菜鸟,大佬都忙得很,哪有空写。
2024-04-03 18:30:19 144
原创 从libevent的spserver到skynet库的感想
再说说skynet把,sky net好多了,但是风云这家伙就是游戏迷,只能用lua搞游戏,要想写逻辑,那还得用lua,很明显作为一个C++工程师,我不接受,我懒得学呢,有时间的话我会把skynet的消息队列机制全部移除了,自己写一个多线程并发网络框架。sp使用libevent,spserver不行,太差劲了,连多线程处理消息队列都没有,就是个串行的执行器,而且处理任务频繁唤醒睡眠线程,导致开销极大,做得很差。
2024-04-01 22:37:26 145
原创 skynet消息队列一文搞定
/skynet_message消息队列(其实是一个数组通过queue[序号]从队列中获取指定的消息)//与其他消息队列的关联(非空表示在全局消息队列中)//队列是否已被释放表示(0为未释放,1为已释放)//消息队列所属服务的句柄(用于消息处理)不难看出来,全局消息队列看起来像是一个。//是否存入全局消息队列标志。,每个节点都带着一个。
2024-04-01 08:22:47 692
原创 QTableWidgetItem setText并无效果
那就使用Item = new QTableWidgetItem(strText);在使用QTableWidget有时候遇到setText没有起作用,不知道Item->setText(strText)为什么没有效果。
2023-01-14 09:17:51 606
原创 setIndexWidget
setIndexWidget是个好东西,但很多时候有问题,今天就遇到一个,因为表格行高太高了,有23,而createEditorContainer(i)的高度是20,所以看到表格中有一个Edit的框,于是干脆把Edit的框去掉,no border了,完美解决因为Edit框高度与表格高度不一样导致在表格列中看到框线。
2023-01-13 14:31:14 537
原创 QTableWidget不要用QModelIndex做QMap的key
看到csdn上很多这样搞的,这样做会导致bug,因为当你删除中间的任意一行,那么你选中的那行的QModelIndex里面row会减减,这样QMap去contains就是找到了你选中的那行的下面那一行了,这样就bug了。
2023-01-11 16:22:37 162
原创 conan管理visualstudio依赖包
conan profile remove settings.compiler.libcxx default //这个就是不要配置libcxx,如果在Windows平台会出错。conan config set settings.compiler.cppstd=20 //使用c++20编译。
2023-01-03 15:48:39 277
原创 QTableView优化的几点经验
3.使用->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);除此之外,还可以设置->setSelectionMode(QAbstractItemView::NoSelection);或者->setFocusPolicy(Qt::NoFocus);
2022-12-09 15:08:25 1521
原创 使用Sleep降低CPU能耗同时配合QueryPerformanceFrequency做高精度帧率控制
Sleep是最不准确的,timeSetEvent勉强精确到毫秒级别,但是不太准确,QueryPerformanceFrequency是最精确的,用来做硬件定时中断或其他高精度us级别的消息发送就选QueryPerformanceFrequency,用来做精确到1ms级别是必然选择,但光用QueryPerformanceFrequency又不行,网上很多都是用QueryPerformanceFrequency,但是cpu飙高,所以自然就需要Sleep或yields cpu来降低cpu的耗能,在参考了。
2022-11-28 20:45:05 490
原创 libcurl使用样例
libcurl被很多软件厂商使用,libcurl提供了使用C或C++语言支持http访问,所有常用于客户端软件本例学习了libcurl的写法,上代码:#pragma once#ifndef __RESTCLIENTPOOL_H__#define __RESTCLIENTPOOL_H__#include "./libcurl-vc16-x86-release-dll-ipv6-sspi-schannel/include/curl/curl.h"#include <stdio.h>
2021-11-27 13:02:22 624
原创 _CrtSetBreakAlloc没断下来的原因
公司的项目很大但没有使用KDetectMemoryLeak检测内存泄漏,今天心血来潮,把KDetectMemoryLeak文件包含进项目工程在WinMain函数头加入atexit(CheckOnExit);代码:#pragma once#include <crtdbg.h>#include <assert.h>#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LIN.
2021-11-26 17:27:01 641
原创 spserver线程池代码阅读
spserver实现了领导者/追随者模型,依赖线程池实现其机制,优点是不用缓存数据包,领导者线程获得数据后直接调用处理函数处理,并且其他追随者线程醒来成为领导者线程去等待下一个数据包代码:1.构造函数SP_ThreadPool :: SP_ThreadPool( int maxThreads, const char * tag ){ if( maxThreads <= 0 ) maxThreads = 2; sp_thread_mutex_init( &mMain...
2021-11-21 18:49:01 290
原创 QTableWidget设置代理使得选中行字体颜色保持不变并且失去焦点后(也就是QTableWidget失去焦点或子类TableWidget)底色不变
这个问题困扰了我很久,一直不理解QT的MVC设计思路,后来经过一天学习才知道,所有个性化的设置都是通过代理类QStyledItemDelegate来进行改变,譬如选中效果,字体颜色大小等等,看起来比MFC当然要复杂多了,但是别忘了QT是跨平台的,能做到这样也是非常厉害了,不得不佩服QT作者的匠心独特上关键代码:MyTableWidget*childTable = new MyTableWidget;//MyTableWidget继承自QTableWidget然后childTable->
2021-01-20 15:03:41 4072 1
原创 给QWidget添加QScrollBar滚动条
最近公司项目要用到滚动条,而且要性能非常好,因为图像可能非常大,widget的面积可能几万像素,看了QScrollArea、QAbstractScrollArea设计,太过复杂,而QListView QTableView QTableWidget等直接或间接继承QAbstractScrollArea,其他很多控件类也直接或间接继承QAbstractScrollArea,为了摆脱QScrollArea的viewport和其分离的设计,以使用Windows下GDI开发,我决定自己写一个继承自qwidge
2021-01-14 14:21:49 4030
原创 2020-09-18 ProtoBuf,简称pb,Windows编译
在protobuf目录下新建install安装目录mkdir debug & cd debugcmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../..nmakenmake install发布版本:mkdir release & cd releasecmake -G "NMake Makefiles" -DCMAK...
2020-09-18 22:37:16 123
原创 8大经典形态
MACD八大经典形态之一 天鹅展翅DIFF在0轴以下金叉DEA线,随后没有上穿0轴就回调,向DEA靠拢,MACD红柱缩短,但没有死叉DEA就再次反转向上,同时配合MACD红柱加长,便形成天鹅展翅形态。该形态的形成多为底部形态,是股价在下跌探底之后,抛盘穷尽之时呈现的底部形态,应理解为主力建仓区域,可择机介入。MACD八大经典形态之一 空中缆车 空中缆绳空中缆绳DIF在零轴下...
2020-06-05 17:11:20 704
策略为王vs2019已经编译好.rar
2020-04-19
更新IOCP_Socket
2012-04-06
Intel(Intel_ 64 and IA-32 Architectures Optimization Reference Manual下载失败)
2009-05-08
Intel_ 64 and IA-32 Architectures Software Developer's Manual Volume 2B_ Instruction Set Reference, N-Z
2009-05-08
无边框widget可定制标题栏
2022-11-02
Qt-Frameless-Window-DarkStyle-master.zip
2020-11-29
复权算法说明.rar
2020-07-18
除权数据处理.zip
2020-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人