新闻资讯
看你所看,想你所想

Wait(英语单词)

Wait(英语单词)

wait英语中有等待的意思,在计算机领域它还是一种Java术语,C语言中也有wait命令。

基本介绍

  • 中文名:等待
  • 外文名:Wait
  • 其他:Java术语
  • 属性:单词
  • 词组:wait for ,wait up
  • 词性:动词,名词

概述

public final voidwait() throwsInterruptedException在其他执行绪调用此对象的notify()方法或notifyAll()方法前,导致当前执行绪等待。换句话说,此方法的行为就好像它仅执行 wait(0)调用一样。 当前执行绪必须拥有此对象监视器。该执行绪发布对此监视器的所有权并等待,直到其他执行绪通过调用 notify方法,或 notifyAll方法通知在此对象的监视器上等待的执行绪醒来。然后该执行绪将等到重新获得对监视器的所有权后才能继续执行。 对于某一个参数的版本,实现中断和虚假唤醒是可能的,而且此方法应始终在循环中使用: synchronized (obj) { while (<condition does not hold>) obj.wait(); ..抛出:IllegalMonitorStateException- 如果当前执行绪不是此对象监视器的所有者。InterruptedException- 如果在当前执行绪等待通知之前或者正在等待通知时,任何执行绪中断了当前执行绪。在抛出此异常时,当前执行绪的中断状态被清除。
当前执行绪必须拥有此对象监听器。 此方法导致当前执行绪(称之为 T)将其自身放置在对象的等待集中,然后放弃此对象上的所有同步要求。出于执行绪调度目的,在发生以下四种情况之一前,执行绪 T被禁用,且处于休眠状态: 其他某个执行绪调用此对象的 notify方法,并且执行绪 T碰巧被任选为被唤醒的执行绪。
大约已经到达指定的实际时间。但是,如果 timeout为零,则不考虑实际时间,在获得通知前该执行绪将一直等待。
然后,从对象的等待集中删除执行绪T,并重新进行执行绪调度。然后,该执行绪以常规方式与其他执行绪竞争,以获得在该对象上同步的权利;一旦获得对该对象的控制权,该对象上的所有其同步声明都将被恢复到以前的状态,这就是调用 wait方法时的情况。然后,执行绪T从 wait方法的调用中返回。所以,从 wait方法返回时,该对象和执行绪T的同步状态与调用 wait方法时的情况完全相同。 在没有被通知、中断或逾时的情况下,执行绪还可以唤醒一个所谓的虚假唤醒(spurious wakeup)。虽然这种情况在实践中很少发生,但是应用程式必须通过以下方式防止其发生,即对应该导致该执行绪被提醒的条件进行测试,如果不满足该条件,则继续等待。

参数

此方法类似于一个参数的wait方法,但它允许更好地控制在放弃之前等待通知的时间量。用毫微秒度量的实际时间量可以通过以下公式计算出来: 1000000*timeout+nanos在其他所有方面,此方法执行的操作与带有一个参数的wait(long)方法相同。需要特别指出的是,wait(0, 0)与 wait(0)相同。
timeout毫秒值与 nanos毫微秒参数值之和指定的逾时时间已用完。
然后,该执行绪等到重新获得对监视器的所有权后才能继续执行。 对于某一个参数的版本,实现中断和虚假唤醒是有可能的,并且此方法应始终在循环中使用: synchronized (obj) { while (<condition does not hold>) obj.wait(timeout, nanos);参数:timeout- 要等待的最长时间(以毫秒为单位)。 nanos- 额外时间(以毫微秒为单位,範围是 0-999999)。

英文

wait [weɪt]
n. 等待, 等待时间
v. 等, 耽搁, 等候; 等候, 延缓, 期待

函式

wait(等待子进程中断或结束,相关函式 waitpid,fork

表头档案

#include<sys/types.h>
#include<sys/wait.h>

函式原型

pid_t wait (int * status);

函式说明

参数 status 是一个整形指针。如果status不是一个空指针,则终止进程的终止状态将存储在该指针所指向的记忆体单元中。如果不关心终止状态,可以将 status参数设定为NULL。
status 不是NULL时子进程的结束状态值会由参数 status 返回,而子进程的进程识别码作为函式返回值返回。
调用 wait 函式时,调用进程将会出现下面的情况:
· 如果其所有子进程都还在运行,则阻塞。
· 如果一个子进程已经终止,正等待父进程获取其终止状态,则获取该子进程的终止状态然后立即返回。
· 如果没有任何子进程,则立即出错返回。

返回值

如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno 中。

範例

#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
main()
pid_t pid;
int status,i;
if(fork()= =0){
printf(“This is the child process .pid =%d\n”,getpid());
exit(5);
}else{
sleep(1);
printf(“This is the parent process ,wait for child...\n”;
pid=wait(&status);
i=WEXITSTATUS(status);
printf(“child’s pid =%d .exit status=%d\n”,pid,i);
执行
This is the child process.pid=1501
This is the parent process .wait for child...
child’s pid =1501,exit status =5
waitpid(等待子进程中断或结束)
相关函式 wait,fork
表头档案
#include<sys/types.h>
#include<sys/wait.h>
定义函式 pid_t waitpid(pid_t pid,int * status,int options);
函式说明
waitpid()会暂时停止进程的执行,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则参数status 可以设成NULL。参数pid 为欲等待的子进程识别码,其他数值意义如下:

用途

等待直到一个进程标识终止。

语法

wait [ ProcessID ... ]
表示状态,时间的延续。

描述

wait 命令等待(暂停执行)直到由ProcessID 变数指定的进程标识终止。如果没有指定ProcessID 变数,wait 命令会等待直到调用 shell 的所有已知进程标识终止并且以0 为退出状态退出。如果ProcessID 变数代表一个未知的进程标识,wait 命令会把它们视为以127 为退出状态退出的已知进程标识。wait 命令以ProcessID 变数指定的上个进程标识的退出状态退出。

标誌

ProcessID 指定一个命令的无符号十进制整数进程标识,wait 命令会等待直到该进程标识终止。
退出状态
如果指定一个或多个运算元,所有的运算元终止或不为调用 shell 所知,并且上个运算元指定的状态是已知的,那幺 wait 命令的退出状态与上个运算元指定的命令退出状态信息相同。如果进程由于收到信号而异常终止,那幺退出状态会大于128 并且与其它信号生成的退出状态信息不同,儘管未指定确切的状态值(请参阅 kill -l 命令选项)。否则,wait 命令会以以下值中的一个退出:
0 以无运算元方式调用 wait 命令,并且调用的 shell 所已知的所有进程标识已经终止。
1-126 wait 命令检测到一个错误。
127 由上一个指定的ProcessID运算元所标识的命令是未知的。

档案

/usr/bin/wait 包含 wait 命令。

Java术语

术语名称:wait
术语解释:是一个UNIX命令。它等待所有后台进程都完成后报告各自的结束状态。

转载请注明出处海之美文 » Wait(英语单词)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com