编程语言
文章平均质量分 67
极客驿站
这个作者很懒,什么都没留下…
展开
-
Linux线程局部存储
在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程序的性能会得到一定的提高。那么对于那些系统不支持原子操作的自定义数据类型,在不使用锁的情况下如何做到线程安全呢?本文将从线程局部存储方面,简单转载 2014-11-29 22:49:25 · 1041 阅读 · 0 评论 -
errno多线程安全
一、errno的由来 在C编程中,errno是个不可缺少的变量,特别是在网络编程中。如果你没有用过errno,那只能说明你的程序不够健壮。当然,如果你是WIN32平台的GetLastError(),效果也是一样的。 为什么会使用errno呢?个人认为,这是系统库设计中的一个无奈之举,他更多的是个技巧,而不是架构上的需要。我们观察下函数结构,可以发现,函数的参数返回值只有一个转载 2014-11-29 22:45:06 · 798 阅读 · 0 评论 -
C语言中的typeof关键字
typeof关键字是C语言中的一种新扩展,返回变量的类型。从本质上讲,它更像是使用typedef定义一个类型名称。typeof的参数可以是两种形式:表达式或类型。下面是使用表达式的的例子:typeof(x[0](1))这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。以下示例声明了i转载 2014-03-24 20:00:08 · 15193 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
转载:http://www.ibm.com/developerworks/cn/linux/l-ipc/序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形转载 2014-12-03 00:01:58 · 687 阅读 · 0 评论