此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

WaitHandle.WaitAll 方法 (WaitHandle[], Int32)

等待指定数组中的所有元素接收信号,同时使用 Int32 值指定时间间隔。

命名空间:  System.Threading
程序集:  mscorlib(在 mscorlib.dll 中)

public static bool WaitAll(
	WaitHandle[] waitHandles,
	int millisecondsTimeout
)

参数

waitHandles
类型:System.Threading.WaitHandle[]
一个 WaitHandle 数组,包含当前实例将等待的对象。 此数组不能包含对同一对象的多个引用(重复的元素)。
millisecondsTimeout
类型:System.Int32
等待的毫秒数,或为 Timeout.Infinite (-1),表示无限期等待。

返回值

类型:System.Boolean
如果 waitHandles 中的每个元素都已收到信号,则为 true;否则为 false

异常条件
ArgumentNullException

waitHandles 参数为 null

- 或 -

waitHandles 数组中的一个或多个对象为 null

- 或 -

waitHandles 是不含任何元素的数组。

DuplicateWaitObjectException
说明说明
.NET for Windows Store 应用程序可移植类库 中,请改为捕获基类异常 ArgumentException

waitHandles 数组包含重复的元素。

NotSupportedException

waitHandles 中对象的数目大于系统允许的数目。

- 或 -

STAThreadAttribute 特性应用于当前线程的线程过程,且 waitHandles 包含多个元素。

ArgumentOutOfRangeException

millisecondsTimeout 是一个非 -1 的负数,而 -1 表示无限期超时。

AbandonedMutexException

线程退出时未释放互斥体,等待过程已终止。 在 Windows 98 或 Windows Millennium Edition 中不引发此异常。

InvalidOperationException

waitHandles 数组包含另一个应用程序域中的 WaitHandle 的透明代理。

如果 millisecondsTimeout 为零,则该方法不会进入阻止状态。 该方法会测试等待句柄的状态并立即返回。

WaitAll 方法在等待终止时(即所有句柄都终止或者发生了超时)返回。 在某些实现中,如果传递的句柄超过 64 个,将引发 NotSupportedException 如果数组中有重复的元素,调用将失败并引发 DuplicateWaitObjectException

说明说明

在具有 STAThreadAttribute 的线程中不支持 WaitAll 方法。

调用此方法重载等效于调用 WaitAll(WaitHandle[], Int32, Boolean) 重载和将 exitContext 指定为 false

.NET Framework

受以下版本支持:4.5、4、3.5 SP1、3.0 SP2、2.0 SP2

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

社区附加资源

添加
显示:
© 2015 Microsoft