linux基础
文章平均质量分 83
勉仁
数据库界的小学生
展开
-
linux syscall系统调用获取线程PID
linux syscall系统调用获取线程PID线程idLinux中,每个进程有一个pid,类型pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型 pthread_t,由pthread_self()取得,该id由线程库维护,其id空间是各个进程独立的(即不同进程中的线程可能有相同的id)。Linux中的POSIX线程库实现的线程其实也是一个进程(LWP),只是该进程与原创 2015-09-05 17:40:42 · 7958 阅读 · 0 评论 -
linux c++线程池实现 - tbsys实现详解
linux线程池 - tbsys实现详解一年前刚刚毕业入职还会写几篇博客,后来项目取消开源要求员工删除博客,写博客这件事情就荒废了。一年后,回忆一下,如果不养成写东西的习惯可能很难积累下知识,成长会慢很多。现在还是继续写吧,也可以读读其它开源代码写一写。tbsys是阿里的一份开源代码,在阿里集团广泛应用,由多隆大神创作,内部代码实现有很多精致巧妙的地方。今天学习下tbsys的线程池实现。实现框架Ru原创 2015-10-11 23:18:01 · 3754 阅读 · 0 评论 -
Linux异步信号处理函数引发的死锁及解决方法
异步信号处理方式使用不当会发生死锁。异步信号处理函数不推荐做太多工作,如果调用函数需要是reentrant。reentrant可重新进入的,可以理解为一次调用发生后,不会对该函数的再次调用发生任何影响。即reentrant函数中不可以有static或global变量,不可以分配释放内存,通常不可以使用修改用户提供的对象,修改errno等等。可采用同步信号处理方式避免死锁问题。原创 2016-03-05 17:09:37 · 5784 阅读 · 0 评论