当前位置: 技术问答>linux和unix
请教sleep和pthread_delay_np:阻塞线程/阻塞进程?
来源: 互联网 发布时间:2015-05-11
本文导语: 看一些文档上说sleep会让整个进程阻塞,而不是只阻塞调用的那一个线程,要仅阻塞本线程应该调用pthread_delay_np。但是我在我所安装的Linux版本下的man pages里面却无法找到pthread_delay_np这个调用的说明,在/include下面搜...
看一些文档上说sleep会让整个进程阻塞,而不是只阻塞调用的那一个线程,要仅阻塞本线程应该调用pthread_delay_np。但是我在我所安装的Linux版本下的man pages里面却无法找到pthread_delay_np这个调用的说明,在/include下面搜也找不到。我的Linux内核版本是2.4,请问大家,是不是已经不再支持pthread_delay_np了呢?在2.4下面我想让线程阻塞能不能用sleep呢?
|
sleep会阻塞整个线程?是不是线程是用户级的线程?
在Linux下,所有的线程本质上都是一个进程,有clone系统调用派生,在内核看来,他和一个普通进程没有什么差别,区别就在于他和派生他的进程共享同一块内存(或者是说mm_struct)吧,某个进程的sleep不大可能阻塞其它进程。
在Linux下,所有的线程本质上都是一个进程,有clone系统调用派生,在内核看来,他和一个普通进程没有什么差别,区别就在于他和派生他的进程共享同一块内存(或者是说mm_struct)吧,某个进程的sleep不大可能阻塞其它进程。