Chinaunix首页 | 论坛 | 博客
  • 博客访问: 410500
  • 博文数量: 155
  • 博客积分: 2590
  • 博客等级: 少校
  • 技术积分: 2161
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-25 09:33
文章分类

全部博文(155)

文章存档

2015年(1)

2014年(2)

2013年(55)

2012年(97)

分类: Python/Ruby

2012-11-24 17:22:41

原型:extern void sleep(unsigned int sec);
  用法:#include
  功能:短暂延时
  说明:延时sec秒
  举例:
      // sleep.c
      #include
      main()
      {
        int c;
        clrscr();
        printf("\nHello, world!");
        sleep(1);
        clrscr();
        printf("\nHi, guys");
        getchar();
        return 0;
      }
原型:extern void delay(unsigned int msec);
  用法:#include
  功能:短暂延时
  说明:延时msec*4毫秒
  举例:
      // delay.c
      #include
      main()
      {
        int c;
        clrscr();
        printf("\nHello, world!");
        delay(250);    // 250*4=1000msec=1sec
        clrscr();
        printf("\nHi, guys");
        getchar();
        return 0;
      }
wait(等待子进程中断或结束)   
  相关函数   
  waitpid,fork   
  表头文件   
  #include   
  #include   
  定义函数   
  pid_t   wait   (int   *   status);   
  函数说明   
  wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status   返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则   
  参数   
  status可以设成NULL。子进程的结束状态值请参考waitpid()。   
  返回值   
  如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
 //
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
 
sleep 使调用进程不让出CPU资源。停止当前线程任务。而wait让出了CPU。唤醒条件是notify方法(或notifyAll)。
原文地址:
阅读(1925) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~