当前位置:  技术问答>linux和unix

请问大侠们,线程中sleep到底行不行?? 希望是线程sleep的终结帖!!

    来源: 互联网  发布时间:2016-01-04

    本文导语:  专门搜索了整版关于这个问题的帖子,也没有个准确的说法. 有的人说sleep,usleep,nanosleep都是睡眠整个进程,不是睡眠线程; 有的人说sleep,usleep,nanosleep都是睡眠本线程,不会睡眠进程; 有的人说sleep,usleep睡眠进程,nanosleep睡...

专门搜索了整版关于这个问题的帖子,也没有个准确的说法.

有的人说sleep,usleep,nanosleep都是睡眠整个进程,不是睡眠线程;
有的人说sleep,usleep,nanosleep都是睡眠本线程,不会睡眠进程;
有的人说sleep,usleep睡眠进程,nanosleep睡眠线程;
有的人说用select可以睡眠线程;
有的人说用pthread_cond_timedwait()才是睡眠线程最安全的;
有的人说在线程中使用sleep,usleep,nanosleep是不安全的;

到底谁的说法正确啊?? 还请真正的高手出手!!

|
楼主不要把LINUX的线程和进程弄混,在WINDOWS中,进程下必定有一个线程,而LINUX不是,进程和线程界限不那么明显,进程下面是不一定有线程的,线程最初在LINUX中的定义就是一个轻量级的进程。所以,当你把所有线程看做进程来看的话,这个问题就容易理解了。

|
你给的后面一个连接就提了一句,又没说个所以然的。

Linux平台下的情况是,线程只不过是进程的一种特殊形式,而且事实情况也是
sleep只影响当前线程。

关于说DEC平台什么实现问题的,我不清楚

|
在 linux 中是可以的, 在unix 我不知道
根据 《Advanced Linux Programming》所讲的
linux 中的线程 其实是进程 只是共享了虚拟地址空间,
所以信号, 还有 sleep 什么的都没问题

|
在linux中sleep是使用nanosleep来实现的,所以对于linux来说线程中可以安全的使用sleep函数

对于符合posix标准的系统和库,sleep被要求是异步信号安全的函数,只要你不混合使用
sleep和SIGALRM信号相关的函数,在线程中可以安全的使用sleep函数

欢迎访问我的个人网站 www.linuxc.net

|
实际上Linux的线程就是轻量级的进程,具有很多进程的特征,usleep和sleep是不会影响其他线程的

    
 
 

您可能感兴趣的文章:

  • 请问:进程创建的线程是怎样运行的啊,线程的处理函数运行完了,线程就退出了吗?
  • 请问Linux核心支持多线程吗?开发库有线程库吗?线程好用吗?(稳定?)
  • 请问,在一个进程中创建多线程时如何能避免不同的线程获得同一个线程标识
  • 请问在java多线程中,是只有run(){}内的代码运行在一个新线程下呢?还是这个类中的代码都运行在一个新线程下?
  • 请问在多线程得程序中,函数内的局部变量是否线程安全的
  • 请问Linux下线程开销为什么这么大?一个线程要占用近10M内存
  • 请问在单进程,多线程程序里,线程间使用IPC的信号量来同步,能行吗?
  • 请问对于多线程程序应该如何测试线程的切换开销呢
  • 请问线程的运行顺序是怎样的
  • 请问线程编成的问题
  • 请问什么叫线程安全?
  • 请问一个线程的优先级增加能使线程停止执行吗?
  • 请问:linux下的子进程与线程的区别
  • 请问:如何优雅的结束一个正在等待锁的线程?
  • 请问前辈,线程和进程有什么区别啊?
  • 请问关于多线程SOCKET的问题
  • 请问调用notify后被选中线程的wait是立刻返回,还是等到调用notify的线程退出synchronized块后再返回?
  • 请问单线程异步机制的优势在哪里?
  • 请问在solaris下可以取得一个线程的ID号吗?
  • 请问多个线程同时读写同一文件的操作是否安全?
  • 请问一下sleep_on_timeout函数的返回直问题(在线等)
  • 请问:在驱动中实现非阻塞UDP,用interruptible_sleep_on_timeout行么?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • (急)请问大侠,JDK怎么配置?
  • 请问大侠们,谁有办法屏蔽掉ctrl+c这个热键呀????急呀!!!!
  • 请问那位大侠使用过nohup命令,给我一点资料好吗?
  • 请问各位大侠:有没有《linux下QT编程入门》这本书的完全版?
  • 请问大侠们,IPPROTO_ICMP的宏定义在哪儿??
  • 各位大侠请问现在学那一种Linux好?
  • 请问大侠,我的linux 7.3 安装后汉字显示不正常,如何解决?
  • 请问各位大侠你们是怎么样的?
  • 请问哪位大侠用过Eclipse,能不能介绍点这方面的文章,书和网站,谢了
  • 请问各位大侠,有誰知道red linux 7.x和red advanced server 2.1的区别呢?
  • 我没用过Java,请问各位大侠Java中除了/*...*/用作注释外,还有什么符号可用于注释符?
  • 请问大侠学java要有c语言基础吗?
  • 请问各位大侠一个关于jar命令问题
  • 急求SCO UNIX 5.06的ORACLE补丁包oss459a.z,请问各位大侠,哪里可以下载,急等!!!
  • 请问什么是“设计模式”,有这方面的教材吗?望各位大侠指点指点初学者。谢谢!
  • 请问各位大侠,有哪位知道哪个软件在windows下访问到unix系统里
  • 请问哪位大侠有jrun stdio3.01的注册码
  • 请问大侠,有什么方法能对JSP程序页面自动刷新。
  • 请问各位大侠Linux怎么发音?
  • 请问大侠如何把linux安装过程中的画面保存下来?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3