2010-04-05T03:19:33の更新内容

programming/netfx2/System.Threading.WaitHandle/index.wiki.txt

current previous
1,59 0,0
+
${smdncms:title,System.Threading.WaitHandle}
+
${smdncms:keywords,System.Threading,WaitHandle,MissingMethodException}
+

          
+
-関連するページ
+
--[[programming/netfx2/System.Threading.Mutex]]
+
--[[programming/netfx2/System.Threading.Semaphore]]
+

          
+
*.NET Frameworkのバージョンとサポートされるメソッド
+
WaitOne, WaitAny, WaitAllメソッドのオーバーロードは、.NET Frameworkのバージョンによってサポート状況が異なる。
+

          
+
各メソッドのオーバーロードのうち、引数exitContextを省略できるバージョンは
+
-.NET Framework 4
+
-.NET Framework 3.5 ''SP1''
+
-.NET Framework 3.0 ''SP2''
+
-.NET Framework 2.0 ''SP2''
+

          
+
以降でサポートされる。 このため、引数exitContextを省略したバージョンを用いたコードを上記より古い.NET Frameworkで実行した場合、MissingMethodExceptionがスローされる。
+

          
+
各メソッドのオーバーロードとサポートされる.NET Frameworkのバージョンの対応を表にまとめると以下のようになる。
+

          
+
|*&msdn(netfx,method,System.Threading.WaitHandle.WaitOne){WaitHandle.WaitOne};
+
|オーバーロード|サポートされる.NET Frameworkのバージョン|等価な呼び出し|h
+
|&msdn(netfx,id,58195swd){WaitOne()};|4, 3.5, 3.0, 2.0, 1.1, 1.0|WaitOne(-1, false)&br;WaitOne(Timeout.Inifinite, false)|
+
|&msdn(netfx,id,cc189907){WaitOne(int)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitOne(millisecondsTimeout, false)|
+
|&msdn(netfx,id,cc190477){WaitOne(TimeSpan)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitOne(timeout, false)|
+
|&msdn(netfx,id,kzy257t0){WaitOne(int, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+
|&msdn(netfx,id,85bbbxt9){WaitOne(TimeSpan, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+

          
+
WaitHandleクラスから派生する以下のクラスでも同様。
+
-&msdn(netfx,type,System.Threading.EventWaitHandle);
+
--&msdn(netfx,type,System.Threading.AutoResetEvent);
+
--&msdn(netfx,type,System.Threading.ManualResetEvent);
+
-&msdn(netfx,type,System.Threading.Mutex);
+
-&msdn(netfx,type,System.Threading.Semaphore);
+

          
+
|*&msdn(netfx,method,System.Threading.WaitHandle.WaitAny){WaitHandle.WaitAny};
+
|オーバーロード|サポートされる.NET Frameworkのバージョン|等価な呼び出し|h
+
|&msdn(netfx,id,tdykks7z){WaitAny(WaitHandle[])};|4, 3.5, 3.0, 2.0, 1.1, 1.0|WaitAny(waitHandles, -1, false)&br;WaitAny(waitHandles, Timeout.Infinite, false)|
+
|&msdn(netfx,id,cc189983){WaitAny(WaitHandle[], int)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitAny(waitHandles, millisecondsTimeout, false)|
+
|&msdn(netfx,id,cc190233){WaitAny(WaitHandle[], TimeSpan)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitAny(waitHandles, timeout, false)|
+
|&msdn(netfx,id,4h1414yz){WaitAny(WaitHandle[], int, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+
|&msdn(netfx,id,thzhh2tb){WaitAny(WaitHandle[], TimeSpan, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+

          
+
|*&msdn(netfx,method,System.Threading.WaitHandle.WaitAll){WaitHandle.WaitAll};
+
|オーバーロード|サポートされる.NET Frameworkのバージョン|等価な呼び出し|h
+
|&msdn(netfx,id,z6w25xa6){WaitAll(WaitHandle[])};|4, 3.5, 3.0, 2.0, 1.1, 1.0|WaitAll(waitHandles, -1, false)&br;WaitAll(waitHandles, Timeout.Infinite, false)|
+
|&msdn(netfx,id,cc190839){WaitAll(WaitHandle[], int)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitAll(waitHandles, millisecondsTimeout, false)|
+
|&msdn(netfx,id,cc190864){WaitAll(WaitHandle[], TimeSpan)};|4, 3.5 ''SP1'', 3.0 ''SP2'', 2.0 ''SP2''|WaitAll(waitHandles, timeout, false)|
+
|&msdn(netfx,id,27y100eh){WaitAll(WaitHandle[], int, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+
|&msdn(netfx,id,80f98ast){WaitAll(WaitHandle[], TimeSpan, bool)};|4, 3.5, 3.0, 2.0, 1.1, 1.0|-|
+

          
+
なお、SignalAndWaitメソッドは引数exitContextを省略できるバージョンが用意されていない。
+
|*&msdn(netfx,method,System.Threading.WaitHandle.SignalAndWait){WaitHandle.SignalAndWait};
+
|オーバーロード|サポートされる.NET Frameworkのバージョン|等価な呼び出し|h
+
|&msdn(netfx,id,tsds36f0){SignalAndWait(WaitHandle, WaitHandle)};|4, 3.5, 3.0, 2.0|SignalAndWait(toSignal, toWait, -1, false)&br;SignalAndWait(toSignal, toWait, Timeout.Infinite, false)|
+
|&msdn(netfx,id,af1y4d1c){SignalAndWait(WaitHandle, WaitHandle, int, bool)};|4, 3.5, 3.0, 2.0|-|
+
|&msdn(netfx,id,k2h8y546){SignalAndWait(WaitHandle, WaitHandle, TimeSpan, bool)};|4, 3.5, 3.0, 2.0|-|
+

          
+