自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

松仔的技术博客

记录,分享,乐趣。

原创 关于线程池的一段对话

2017-09-13 11:02:30

阅读数 165

评论数 0

原创 linux上封装的c++的finally

很多编程语言里面有 try...finally...这种结构来保证无论是否发生异常,finallly后面的代码一定会被执行,这个地方常常放置关闭文件、句柄、free对象、解锁等等操作。但c++并没有这种语法结构。号称强大的c++为啥没有这个特性呢?因为c++本身实现这种功能的方式的逼格更高一...

2016-01-14 15:54:24

阅读数 769

评论数 0

原创 说一说golang的协程

协程是应用层的线程。 应用层是相对于内核层而言,是操作系统的概念,对应的是cpu的运行级别。操作系统的核心代码运行的ring0级别,应用程序的代码运行在ring3级别。内核与应用层的级别设置保证了一些高权限的操作只有内核代码能做,应用程序要使用这些功能必须通过调用操作系统的API(lin...

2016-01-13 13:53:30

阅读数 4311

评论数 1

原创 相较于其他语言,golang的突出特点和优势

编译型协程垃圾收集专为并发编程设计的管道语言简单实用,有效,高效适用于大规模高并发后端服务器程序开发内置高性能http server完善简便的各种库(package)调用C很简便跨平台作者之一是c的作者google出品,成熟,经过工业验证

2016-01-12 17:21:14

阅读数 3185

评论数 0

原创 golang版的高效日志组件

package log import ( "sync" "time" "os" "fmt" "strconv" ) type Tlog struct{ Qidx i...

2016-01-08 17:43:30

阅读数 2248

评论数 0

原创 windows平台内存缓冲池

/* 无锁内存缓冲池 其特点如下: 池内存的申请和释放不会使用锁,只会用到微耗的interlockedincrement和interlockeddecrement函数 池内存总大小和池内内存块的大小是固定长度的,通过构造函数的参数指定; 分配出来的池内存是经过mem...

2014-08-23 16:04:58

阅读数 1845

评论数 2

原创 珍藏好料开源放送: windows平台一个高性能、通用型的C++生产者/消费者架构模板

/* 生产者/消费者通用模板 特点: 高性能:采用多线程,多队列平衡的信号量等待模型,有效减少锁等待 可调节:可以根据实际应用环境调整队列数,最多可支持64个队列 使用简单,一个构造函数,一个生产函数,一个消费函数。 */ #ifndef PANDC_H #define PANDC_H #inc...

2014-08-01 23:14:38

阅读数 2333

评论数 2

原创 windows平台上的一个内存池的实现

.h文件 /**********************说明************************* * 这是MPool内存池的实现,他具有如下特性: * 1. 池中的内存块是大小是相同的 * 2. 由宏定义_MP_NO_SERIALIZE决定是否需要多线程同步 * 3. 他利用win...

2014-07-30 11:34:59

阅读数 1815

评论数 0

原创 c++ 数字转汉字

string zi(int i,int bit) { string ret; if (0==i) ret = "零"; else if(1 == i) ret = "一"; else if(2 ...

2014-07-15 11:13:02

阅读数 2359

评论数 0

原创 源码:windows文件分割与合并

//判断文件是否存在 bool FileExistsW(const wstring &fn) { WIN32_FIND_DATAW fd; HANDLE hFile = FindFirstFileW(fn.c_str(),&fd); if (hFile !=...

2014-07-14 01:38:54

阅读数 3138

评论数 0

原创 基于windows api实现的共享锁/独占锁

众所周知,windows平台上实现线程同步,或者说资源的加锁与解锁的方法有内核事件、临界区、互斥量、信号量,甚至interlocked系列函数等多种手段。但是在日常的编程中,我们使用这些手段对 “多个线程同时对同一个资源进行读写” 的时候,在读写之前先要对资源假锁,读写完之后要对资源解锁。 设...

2014-07-11 16:57:12

阅读数 2689

评论数 1

原创 简单好用的桌面万年历天气软件

点击打开链接

2014-06-20 09:17:00

阅读数 750

评论数 0

原创 c++ 标准库的各种容器(vector,deque,map,set,unordered_map,unordered_set,list)的性能考虑

c++ 标准库的各种容器(vector,deque,map,set,unordered_map,unordered_set,list)的性能考虑   一、vector vector采用一段连续的内存来存储其元素,向vector添加元素的时候,如果容量不足,vector便会重新malloc一段...

2013-12-13 15:55:36

阅读数 13675

评论数 4

原创 《抽象是一种美》

抽象是一种美

2013-10-29 10:52:38

阅读数 938

评论数 0

转载 对Native API NtSystemDebugControl的分析

本文转自http://www.xfocus.net/articles/200408/721.html 对Native API NtSystemDebugControl的分析 创建时间:2004-08-05 文章属性:原创 文章提交:tombkeeper (t0mbkeeper_at_h...

2012-12-20 11:09:21

阅读数 550

评论数 0

原创 iocpdemo,数据回显

//iocpdemo,数据回显:简单的接受客户端连接,并原样返回客户端发送过来的消息 unit unMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...

2012-07-31 17:53:50

阅读数 898

评论数 0

原创 delphi组件序列化/反序列化

delphi组件序列化/反序列化可参考以下函数 ReadComponentResFile,   WriteComponentResFile ObjectTextToBinary ObjectBinaryToText ObjectTextToResource ObjectResource...

2012-06-11 09:38:15

阅读数 1130

评论数 0

原创 delphi中没有窗口句柄的控件如何处理windows消息

timage控件没有窗口函数,所以处理不了消息。消息由其parent处理在其parent的winproc中,会利用GetControlsatpos来取得当前鼠标光标处的控件,如果取到了,则利用perform函数来将改消息发给这个控件(也就是调用控件的winproc函数),控件的winproc函数会...

2012-06-11 09:36:53

阅读数 2220

评论数 1

原创 工作中的一些思考

<br />1. 分解問題的能力<br />解決問題是的流程,是先把一個大問題分解成各個不同層級小問題,然后逐個解決這些分解出來的小問題。<br />分解:把復雜的事情簡單化的過程<br />分解需要能力和智慧和經驗,能力和智慧和經驗是經過解決無數問...

2011-04-25 21:40:00

阅读数 517

评论数 0

原创 delphi中採用bpl共享模塊的幾點釋疑

<br />1. LoadPackage做了哪些事情?<br />LoadPackage的代碼可以從delphi的源碼(sysutils.pas)中找到<br />{ LoadPackage }<br />function LoadPackage(c...

2010-11-21 10:03:00

阅读数 1605

评论数 0

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