Linux 系统编程
文章平均质量分 89
俊哥有个blog
这个作者很懒,什么都没留下…
展开
-
linux系统函数pthread_atfork
函数的原型是这样的: include <pthread.h> int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)); 说明:该函数用于注册三个回调函数,后面用户调用fork函数时,才真正执行。调用fork时,内部创建子进程前在父进程中会调用prepare,内部创建子...原创 2019-10-18 20:09:32 · 278 阅读 · 0 评论 -
fcntl和select函数使用详解
<br /><br /> 第一、fcntl函数详细使用 <br /> fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。<br />当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。<br />fcntl文件锁有两种类型:建议性锁和强制性锁<br /> 建议性锁是这样规定的:每个使用上锁文件的进程都要检查是否有锁存在,当然还转载 2011-05-17 09:41:00 · 1265 阅读 · 0 评论 -
C++线程局部存储(TLS)
基本类型(如(unsigned) int,long, char,指针,c类型的结构体等 )可以采用用 __thread修饰符来定义线程局部变量. 示例如下: __thread int i; extern __thread struct state s; static __thread char *p; 像 string 等类是不能直接用 __thread 修符的,只能用其指针类型的.即:原创 2015-10-16 12:32:42 · 4432 阅读 · 1 评论 -
linux不知道的一些事儿
关于PRId64 Linux里,int64_t(64位整数)经常被用来表示时间戳,因为int32_t只能表示到格林威治时间2038年01月19日03时14分07秒,而64位整数表示的时间要长很多。但int64_t类型在32位系统中是long long int,在64位系统中是long int,这就带来了问题,在打印int64_t的格式化方法时: printf("%ld", value)原创 2015-11-22 01:18:11 · 501 阅读 · 0 评论