
System
文章平均质量分 79
huntzw
这个作者很懒,什么都没留下…
展开
-
良好的程序应该有自我诊断能力
Good Design的程序应该会报告程序自己的状态,例如内存的堆与栈的使用情况。。。。 // Check by opening a global mutex; if the mutex exists, then an applicaiton using the same name is already running.BOOL IsUniqueInstanceInSystem(L原创 2011-11-09 22:37:38 · 730 阅读 · 0 评论 -
<当析构函数遇到多线程>阅读笔记
今日阅读了陈硕的一篇文章《当析构函数遇到多线程》,学到很多知识。有的以前接触过,有的没有接触过。遂作笔记如下: 临界区在Windows 上是CRITICAL_SECTION,是可重入的;在Linux 下是pthread_mutex_t,默认是不可重入的.关于函数的可重入性,参见http://blog.youkuaiyun.com/yueyahe/article/details/729126什么原创 2012-02-29 16:27:42 · 886 阅读 · 0 评论 -
2月29日,四年才发生一次的bug
今天是特殊的日子。2月29日。隔壁team发生了一个闰年才有的bug。。他们在激烈的讨论中。。。 下面这个blog值得一看。。现代软件工程讲义 9 测试 关于闰年的测试 用程序算出2000年到4000年之间的所有闰年(此时只考虑到3200年以前,故3200其实不是闰年): int IsLeapYear(int year) //判断某年是否闰年 闰年返回1,平年返回0原创 2012-02-29 16:50:24 · 786 阅读 · 0 评论 -
The C10K Problem
为了了解一些基础知识。简单翻译如下。。。如今的web server要求能够同时地处理成百上千的client请求。毕竟,web和机器现在已经容量非常大了,硬件已不是瓶颈。接下来,我们介绍如何配置操作系统以及代码实现支持上千的client请求,主要介绍的是Unix系统。当然,首先你应该阅读那本著名的Unix Network Programming : Networking Apis by Ri翻译 2012-03-05 09:34:27 · 775 阅读 · 0 评论 -
REST Web Services
REST是Representational StateTransfer(表述性状态转移)的缩写。Client application transfers state with each resource representation. This is REST。--Representational State Transfer is intended to evoke an image o原创 2012-04-05 09:35:15 · 927 阅读 · 0 评论 -
I/O模型:阻塞、非阻塞 & 同步、异步
转自:http://jzhihui.iteye.com/这篇文章主要总结下这几个概念,前几天看到微博里在讨论,当时也有点搞不清楚,昨天在看到Reactor和Proactor模式的时候,又提到相关概念,索性搞搞清楚,写个总结。 《Unix网络编程卷1:套接字联网API》(下面称为卷1)第6章对Unix I/O模型有5种划分:阻塞式I/O模型,非阻塞式I/O模型,I/O复用转载 2012-08-13 11:19:32 · 969 阅读 · 0 评论 -
socket相关知识
1. Blocking/Non-blocking vs Sync/Async- Blocking I/O means that thecalling system does not return control to the caller until the operation isfinished. As a result, the caller is blocked and原创 2013-12-20 10:26:36 · 602 阅读 · 0 评论 -
使用windbg检测内存泄漏
使用windbg检测内存泄漏缘起:作为C++程序员,检测内存泄漏是非常痛苦的事情。尤其是看着程序的内存在一直增长,你却无能为力。此时,windbg可以用来检测内存泄漏。配置windbg:1. 配置symbol文件路径: “SRV*d:\symbols*http://msdl.microsoft.com/download/symbols”.2. 增加测原创 2014-03-24 16:58:05 · 8929 阅读 · 3 评论 -
关于fork()
Fork()是linux下常用的系统API,通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事情;也可由于参数的不同,或代码不同分支做完全不相同的事情。fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3原创 2014-09-08 14:28:32 · 587 阅读 · 0 评论