自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行走

求知

  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 007.生产者消费者队列(首尾读写)

所谓的生产者消费者队列,即一个线程读一个线程写的队列我们这里实现的是一个无锁的生产者消费者队列,算法的关键点:1.pop只修改头节点,push只修改尾节点2.保证head和tail非空,因为一旦head和tail为空,push时就必须同时改写head和tail特别说明:1.该生成者消费者队列理论上同时只允许一个线程读和一个线程写2.可以允许多个读线程申请读,但每一时刻只允许一个真正读,...

2020-01-14 17:48:30 268

原创 006.反应器接口

/********************************************************************* 文件名: IReactor.h** 描 述:** 应 用:********************************************************************/#pragma once/// 事件处理程序...

2020-01-13 20:29:19 179

原创 005.生产者消费者队列(翻转队列)

翻转队列 在多线程生产者-消费者模式中生产者线程向队列添加对象,消费者线程从队列取走对象因为涉及到多线程访问,这个队列必须在添加/取走对象时加锁。这个模版实现这种多线程安全的队列,另外使用两个队列翻转的技术,可以极大的减少锁互斥的几率。SwappingListEx 对SwappingList进行了一层封装,当只有一个线程读,多个线程取;一个线程取,多个线程读,读、写是不用同时加锁...

2020-01-13 17:34:07 275

原创 004.多线程内存池

多线程安全内存池内存分配通常是影响一个系统性能的关键所在。内存分配的主要性能瓶颈有:1.由于Windows分配时需要进入操作系统内核态,而进入一个内核态至少需要2000个CPU时钟周期2.频繁的小内存分配会导致内存出现大量碎片,另外容易引发内存页面错误3.当有多个线程需要分配内存时,内存池必须加锁,加锁也需要进入内核态,更重要的是锁碰撞引起自旋等待将浪费大量cpu空转时间实现思...

2020-01-11 16:09:52 576

原创 VS生成sdf和ipch文件太大占用空间问题

vs生成的工程中经常遇到会生成.sdf 和 ipch文件,这两个文件都特别大。有两种方法可以解决者问题方法一: 通过禁用数据库的方式达到关闭这两个文件生成的目的,但是这种方法会产生另外的一些问题,可能导致VS的一些功能不可用。[工具]—>[选项]—>[文本编辑器]—>C/C++]—>[高级]—>[禁用数据库]将其属性设置为True方法二:...

2020-01-11 15:45:33 652

原创 003.线程池

线程池实现,看类图和代码:/********************************************************************* 文件名: Thread.h** 描 述:** 应 用:********************************************************************/#pragma ...

2020-01-09 11:20:49 186

原创 001.单例实体

工作中一些类对象在整个工程中只需要有一份就可以,例如:线程池、内存池、日志引擎、数据库引擎等等。我们可以处理的方法有:定义成全局变量、使用单实体模式(自己取的名称)。下面实例时用到了2个方法:Singleton和SingletonEx。直接看代码/********************************************************************* 文件...

2020-01-08 10:45:09 232

原创 2020工程开篇

对自己这几年工作进行总结和归纳,以一个工程逐渐展开。该工程使用C++编写,会涉及到实际工作中用到的案例,主要以代码形式来说明。

2020-01-08 10:33:13 133

原创 WSRecv

WSARecv()是从一个套接口接收数据的程序。主要用于在重叠模型中接收数据。int WSARecv( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, LPWSAOVERLAPPED lpOverlapped, LPWSA...

2020-01-07 11:36:05 626

原创 002.锁

直接代码#pragma once;#include <windows.h>//////////////////////////////////////////////////////////////////////////// 互斥体class Mutex{ CRITICAL_SECTION m_cs;public: Mutex(); ~Mutex(); ...

2020-01-06 14:22:43 115

原创 memcpy 和 memmove

void *memcpy(void*dst, const void *src, size_t count);void *memmove(void*dst, const void *src, size_t count);

2020-01-06 10:17:43 184

读DCM数据,对DCM图按照序列号进行分类

完整的DCM工程,可以读取DCM图数据,可以对DCM图进行分类

2015-11-20

64位进程调用32位DLL实例

64位进程调用32位DLL实例,参考http://blog.csdn.net/nie2314550441/article/details/49867735

2015-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除