AutoResetEvent コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)


Imports System Imports System.Threading Namespace AutoResetEvent_Examples Class MyMainClass 'Initially not signaled. Private Const numIterations As Integer = 100 Private Shared myResetEvent As New AutoResetEvent(False) Private Shared number As Integer <MTAThread> _ Shared Sub Main() 'Create and start the reader thread. Dim myReaderThread As New Thread(AddressOf MyReadThreadProc) myReaderThread.Name = "ReaderThread" myReaderThread.Start() Dim i As Integer For i = 1 To numIterations Console.WriteLine("Writer thread writing value: {0}", i) number = i 'Signal that a value has been written. myResetEvent.Set() 'Give the Reader thread an opportunity to act. Thread.Sleep(0) Next i 'Terminate the reader thread. myReaderThread.Abort() End Sub 'Main Shared Sub MyReadThreadProc() While True 'The value will not be read until the writer has written ' at least once since the last read. myResetEvent.WaitOne() Console.WriteLine("{0} reading value: {1}", Thread.CurrentThread.Name, number) End While End Sub 'MyReadThreadProc End Class 'MyMainClass End Namespace 'AutoResetEvent_Examples
using System; using System.Threading; namespace AutoResetEvent_Examples { class MyMainClass { //Initially not signaled. const int numIterations = 100; static AutoResetEvent myResetEvent = new AutoResetEvent(false); static int number; static void Main() { //Create and start the reader thread. Thread myReaderThread = new Thread(new ThreadStart(MyReadThreadProc)); myReaderThread.Name = "ReaderThread"; myReaderThread.Start(); for(int i = 1; i <= numIterations; i++) { Console.WriteLine("Writer thread writing value: {0}", i); number = i; //Signal that a value has been written. myResetEvent.Set(); //Give the Reader thread an opportunity to act. Thread.Sleep(0); } //Terminate the reader thread. myReaderThread.Abort(); } static void MyReadThreadProc() { while(true) { //The value will not be read until the writer has written // at least once since the last read. myResetEvent.WaitOne(); Console.WriteLine("{0} reading value: {1}", Thread.CurrentThread.Name, number); } } } }
using namespace System; using namespace System::Threading; ref class MyMainClass { public: static void MyReadThreadProc() { while ( true ) { //The value will not be read until the writer has written // at least once since the last read. myResetEvent->WaitOne(); Console::WriteLine( " {0} reading value: {1}", Thread::CurrentThread->Name, number ); } } //Initially not signaled. static AutoResetEvent^ myResetEvent = gcnew AutoResetEvent( false ); static int number; literal int numIterations = 100; }; int main() { //Create and start the reader thread. Thread^ myReaderThread = gcnew Thread( gcnew ThreadStart( MyMainClass::MyReadThreadProc ) ); myReaderThread->Name = "ReaderThread"; myReaderThread->Start(); for ( int i = 1; i <= MyMainClass::numIterations; i++ ) { Console::WriteLine( "Writer thread writing value: {0}", i ); MyMainClass::number = i; //Signal that a value has been written. MyMainClass::myResetEvent->Set(); //Give the Reader thread an opportunity to act. Thread::Sleep( 0 ); } //Terminate the reader thread. myReaderThread->Abort(); }
package AutoResetEvent_Examples; import System.*; import System.Threading.*; import System.Threading.Thread; class MyMainClass { //Initially not signaled. private final static int numIterations = 100; private static AutoResetEvent myResetEvent = new AutoResetEvent(false); private static int number; public static void main(String[] args) { //Create and start the reader thread. Thread myReaderThread = new Thread(new ThreadStart(MyReadThreadProc)); myReaderThread.set_Name("ReaderThread"); myReaderThread.Start(); for (int i = 1; i <= numIterations; i++) { Console.WriteLine("Writer thread writing value: {0}", String.valueOf(i)); number = i; //Signal that a value has been written. myResetEvent.Set(); //Give the Reader thread an opportunity to act. Thread.Sleep(0); } //Terminate the reader thread. myReaderThread.Abort(); } //main static void MyReadThreadProc() { while (true) { //The value will not be read until the writer has written // at least once since the last read. myResetEvent.WaitOne(); Console.WriteLine("{0} reading value: {1}", Thread.get_CurrentThread().get_Name(),String.valueOf(number)); } } //MyReadThreadProc } //MyMainClass

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- AutoResetEvent コンストラクタのページへのリンク