自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C/C++规则整理

(1) 指针的大小永远都是4字节,因为保存的是地址。 (2)堆:它的物理内存空间是由程序申请的,并由程序负责释放。     栈:它是由操作系统分配的,内存的申请与回收都由OS管理(先进后出)。

2014-03-03 18:26:14 485

转载 字节对齐

字节对齐有其中一条规则是这样说的: 结构体的总大小为结构体最宽(最大)基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。(所以在vs下,sizeof查看大小的时候默认对齐大小是取最宽的数据类型的大小) 原因:CPU 的访问粒度不仅仅是大小限制,地址上也有限制。也就是说,CPU 只能访问对齐地址上的固定长度的数据。以四字节对齐为例,就是只能访问 0x0 - 0x3,0x4

2014-03-03 18:26:12 586

转载 Linux下C线程池的实现

在传统服务器结构中, 常是有一个总的监听线程监听有没有新的用户连接服务器, 每当有一个新的用户进入,服务器就开启一个新的线程用户处理这个用户的数据包。这个线程只服务于这个用户 , 当用户与服务器端关闭连接以后,服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下,系统为了开辟和销毁线程将浪费大量的时间和资源。线程池提供了一个解决外部大量用户与服务器有限资源的

2014-03-03 18:26:10 537

转载 C++拷贝构造函数和赋值构造函数

先来一个实例:   首先要说明的是,若用户没有定义,C++隐式声明一个复制构造函数和一个赋值运算符(完成按数据成员复制的动作)。二者很像,但是在下边这点上有很大的不 同:复制构造函数是只在对象实例化时才会被调用,也就是说,在复制构造函数调用期间,这个对象处于一个未决状态(直到复制构造函数被成功调用),另外复制 构造函数不返回任何值,void都没有。而赋值运算符则在一个现存的对象被赋予新的值时被

2014-03-03 18:26:07 368

转载 net_kernel:monitor_nodes 订阅node连接\断开消息

Erlang中节点之间建立链接我们可以使用net_adm:ping(),连接成功返回pong,失败返回pang;实践中我们不仅仅是要建立连接,比如我们需要在与其它节点建立连接或者其它节点断开的时候做一些事情,比如在节点当掉的时候记录日志,这就需要在对应的时机取得相应的信息;Erlang在net_kernel库中提供了这样的方法:net_kernel:monitor_nodes(Flag);调用这个

2014-03-03 18:26:05 452

转载 Building a Non-blocking TCP server using OTP principles

Author: Serge Aleynikov Tranlator: David GodwitNow@Gmail.com > Overview : 该文的读者需要熟悉gen_server和gen_fsm行为,使用gen_tcp模块进行TCP socket通信,主动和被动的socket模式,以及OTP监视原理。 OTP为构建可靠的应用提供了一个方便的框架。该框架的实现,部分是通过抽象共

2014-03-03 18:26:03 653

转载 erlang中文手册——ets

声明:本文章是对erlang手册的部分内容的中文翻译,版权归原作者所有……由于本人的英语水平有限(翻译此手册的目的之一就是提高英语水平^0^),所以翻译有误乃正常现象,如有发现请及时提醒,THX…… 谨以此文献给初学erlang并且不喜欢看英文手册的朋友……   ets 模块        ets 模块摘要        内置的数据条目存贮 描述        该模块是erl

2014-03-03 18:26:01 843

转载 erlang中pg2模块使用

pg2这个模块实现了进程组的功能。这个模块之前有个模块为pg,pg模块的进行组中消息将被发送到组内的每个进程,但是pg2却不同,它可以选择性地将 消息发送给单个、某些或全部组内成员。通过进程组的名称可以访问组内的进程,例如进程组的名称为foobar,而且有一系列进程位于组内,可能这些进程位 于不同的节点上,都可以成为foobar的成员。不能够直接向foobar发送消息,但是通过方法get_memb

2014-03-03 18:25:59 444

转载 erlang nif 中文手册

前言 这是翻译erlang官方文档中的 erts-5.9.2的erl_nif部分。翻译完了。水平有限,我就把这个当作是我自己使用了,以后也会继续完善的。 erlang nif 中文手册 概括 功能 初始化 数据类型 接口-资源分配类 接口-线程操作类 接口-类型操作类 概括 NIF库包含了erlang模块

2014-03-03 18:25:56 1722

转载 Linux 的多线程编程的高效开发经验

背景 Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。 我们假

2014-03-03 18:25:54 384

原创 new (addr)type(value)

普通的new type(value)会在堆上开辟一个地址空间,而new (addr)type(value) 看似类似new type(value),实际却不同。 new (addr)type(value)只是把addr里的值更改为value,而不会新开辟一个空间。

2014-03-03 18:25:52 622

转载 网络编程--IO模型示例

IO模型在Richard Stevens的《UNIX网络编程,第一卷》(程序猿必备!)一书中有非常详尽的描述,以下简要介绍,并给出代码示例。 另外比较好的总结性blog,推荐: 使用异步 I/O 大大提高应用程序的性能 IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇) 常见网络IO模型:阻塞式IO、无阻塞式IO、IO复用、异步IO、信号驱动 阻塞式IO: 在一个进程发

2014-02-27 15:36:11 468

空空如也

空空如也

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

TA关注的人

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