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

关于sleep问题

    来源: 互联网  发布时间:2016-09-28

    本文导语:  查看手册,sleep函数是让进程睡眠一段时间,但我发现,貌似sleep函数是让线程睡眠一段时间才对。 究竟sleep是针对进程的还是针对线程的啊? sleep描述: SLEEP(3)                   Linux Programmer's Manual    ...

查看手册,sleep函数是让进程睡眠一段时间,但我发现,貌似sleep函数是让线程睡眠一段时间才对。
究竟sleep是针对进程的还是针对线程的啊?
sleep描述:
SLEEP(3)                   Linux Programmer's Manual                  SLEEP(3)

NAME
       sleep - Sleep for the specified number of seconds

SYNOPSIS
       #include 

       unsigned int sleep(unsigned int seconds);

DESCRIPTION
       sleep()  makes  the  current  process  sleep until seconds seconds have
       elapsed or a signal arrives which is not ignored.

RETURN VALUE
       Zero if the requested time has elapsed, or the number of  seconds  left
       to sleep.

CONFORMING TO
       POSIX.1

BUGS
       sleep()  may  be implemented using SIGALRM; mixing calls to alarm() and
       sleep() is a bad idea.

       Using longjmp() from a signal handler  or  modifying  the  handling  of
       SIGALRM while sleeping will cause undefined results.

SEE ALSO
       signal(2), alarm(2)


以下代码,会不断打印“tf", 说明sleep是针对线程的,跟描述不一致。


#include 
#include 
#include 
void * pf(void *param)
{
    while (true)
    {
        printf("tfn");
    }

}

int main()
{
    pthread_t pid;
    pthread_create(&pid, NULL, &pf, NULL);
    while(1)
    {
        sleep(10);
    }
    return 0;
}

|
的确.sleep()可以用于线程,一个线程调用sleep()只能保证当前调用sleep()的线程睡眠,其他线程可以得到调度.

在linux内核中,线程使用一个和父进程共享数据的轻量级进程来表示的,并将这个轻量级进程同用户空间的线程进

行关联.这样,线程是可以被单独调度的.

当调用sleep()的时候,只有调用sleep()的线程得到了睡眠.其他线程任然可以得到调度的.

    
 
 

您可能感兴趣的文章:

  • man sleep的问题
  • 请问一下sleep_on_timeout函数的返回直问题(在线等)
  • linux一个sleep的奇怪问题,高手来给解答下了
  • 小问题:在线程中调用sleep()使其睡眠的时候,此线程是否释放所占的资源?
  • 关于read,write,sleep的问题。
  • 【linux文件操作的怪问题】写完文件关闭后立即打开,读出来的是乱码。sleep(1)读出来后正常
  • 请教高手pxa3xx sleep/resume回来后hang问题
  • 关于interruptible_sleep_on(&(tsdev.wq)); wake_up_interruptible(&(tsdev.wq));的问题,谢谢!
  • 不是新手的新问题:sendmail[222]:My unqualified host name unknown:sleep for retry
  • 在线程中sleep函数休眠的问题
  • QT:有关sleep的问题,为何在windows下编译运行没问题,而在linux下连编译都不过那?
  • sleep nanosleep select延时问题
  • 请教一下关于linux下sleep的问题
  • 请教下linux中关于sleep()函数的问题
  • 线程sleep的问题
  • 信号处理中sleep函数失效的问题
  • sleep的诡异问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: sleep定义及介绍
  • 请问大侠们,线程中sleep到底行不行?? 希望是线程sleep的终结帖!!
  • java命名空间java.lang类thread的类成员方法: sleep定义及介绍
  • sleep在哪个头文件啊
  • sleep是进程域还是线程域的?
  • crond和sleep比较?
  • linux的sleep函数有什么用
  • Linux sleep() 进程与线程
  • 有什么系统调用的sleep是以毫秒作为精度的?
  • sleep() 函数的原理是什么
  • JAVA里有没有类似SLEEP的函数?
  • linux下的SLEEP N(SECONDS)是什么用的?
  • 送分! UNIX C编程。 如何休眠5秒钟? 类似WINDOWS下的Sleep(5000).
  • windows下死循环需要加sleep,否则CPU爆满, linux下呢?
  • 为什么要将一个进种sleep掉
  • sleep
  • 求教sleep(1000),着急!着急!着急!
  • 请教sleep和pthread_delay_np:阻塞线程/阻塞进程?
  • java 线程,对当前线程(非主线程)调用sleep,为什么主线程(窗口)也没反应了
  • UNIX下用 sleep 时,进程不回响应,kill 都不行,都没有别的办法?
  • LINUX下访问oracle时sleeping的线程过多,达到300多个,造成系统拥堵!


  • 站内导航:


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

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

    浙ICP备11055608号-3