发布时间:2012-12-17 09:11:33
通常会说:进程之间的地址空间是独享的,而线程是共享进程的地址空间,线程的资源比进程小,创建线程比创建进程快,线程间切换快,线程间通信快,线程资源利用率好.下面做个补充:1,线程挂则可能导致进程挂,稳定性差。对长时间运行的serve程序,这一点尤为重要。所以为了兼顾稳定性和性能,很多程序中采用multi-process +multi-thread.2,线程受进程资源的限制,比如:ulimit -a可以看到的若干。3,线程在同一进程内,方便的共享内存。进程则需做内存映射,相关的互斥量等也需要设置为进程共享。4,同步相对复杂,不利于资源的管理和维护。在开发经验中你会懂得:1)web服务器都支持mas......【阅读全文】
发布时间:2012-12-16 19:01:35
1. 无符号整型与有符号整型相加解答: 以下代码在vc6.0中执行结果均为-14,但是用cout输出就只是t3是-14了。因为无符号整数与有符号整数相加,有符号数被强制转换为无符号整数,导致变成很大的数了。void main(){ unsigned int t1=6; int t2=-20; int t3=t1+t2; unsigned int t4=t1+t2; pr......【阅读全文】
发布时间:2012-12-16 16:56:08
..1.. man gcc:NAME gcc - GNU project C and C++ compilerSYNOPSIS gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] &nb......【阅读全文】
发布时间:2012-12-16 16:29:50
以堆栈溢出为代表的缓冲区溢出攻击已经成为一种普遍的安全漏洞和攻击手段。本文首先对编译器层面的堆栈保护技术作简要介绍,然后通过实例来展示 GCC 中堆栈保护的实现方式和效果。最后介绍一些 GCC 堆栈保护的缺陷和局限。以堆栈溢出为代表的缓冲区溢出已成为最为普遍的安全漏洞。由此引发的安全问题比比皆是。早在 1988 年,美国康奈尔大学的计算机科学系研究生莫里斯 (Morris) 利用 UNIX fingered 程序的溢出漏洞,写了一段恶意程序并传播到其他机器上,结果造成 6000 台 Internet 上的服务器瘫痪,占当时总数的 10%。各种操作系统上出现的溢出漏洞也数不胜数。为了尽可能避免缓......【阅读全文】
发布时间:2012-12-15 16:53:34
Valgrind 内存检测工具1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 2. Dmalloc-Debug Malloc Library. 3. Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。 4. Leaky-Linux下检测内存泄漏的程序。 5. LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。 6. MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要......【阅读全文】