![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
任务与信号
千-山
这个作者很懒,什么都没留下…
展开
-
signal原型分析
在linux-0.11内核中,我们找到signal函数原型: void (*signal(int _sig, void (*_func)(int)))(int); 这个函数很难理解,先复习看一些基础知识。 1、一般函数指针定义 int (*f)(int); //定义f为有一个int类型参数,返回值为int的函数指针, int p(int); //原创 2015-04-24 14:50:34 · 2103 阅读 · 1 评论 -
gettid和pthread_self区别
1 线程ID获取方法 linux下获取线程有两种方法: 1)gettid或者类似gettid的方法 2)直接调用pthread_self() gettid 获取的是内核中线程ID,而pthread_self 是posix描述的线程ID。 通过执行man手册,我们也能发现他们的区别: SYNOPSIS #include pid_t getti原创 2015-04-20 15:10:16 · 25912 阅读 · 0 评论 -
muti-thread & fork
1 要点 fork会共用原来的代码段,对于数据段和堆栈进行“写时拷贝”, 对于内核全局变量应用,例如文件句柄进行+1。 因此fork会产生一个和原来进程占用内存一样的进程,注意只是和原来进程的内存模型一样,而不会产生和父进程一样的多线程进程,fork后的子进程会成为一个单线程进程,其他线程默认终止,这个单线程即是发生fork调用时的线程。 2 原型分析 在kernel/fork.原创 2015-04-21 09:10:02 · 905 阅读 · 0 评论