<?xml version="1.0" encoding="EUC-JP" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>ThreadsWait</title> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" /> <link href="default.css" type="text/css" rel="stylesheet" /> <link href="refm294.html" rel="next" /> <link href="refm292.html" rel="prev" /> <link href="index.html" rel="start" /> </head> <body> <div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm482.html">INDEX</a>][<a href="refm483.html">KEYWORD</a>][<a href="refm594.html">METHOD</a>(<a href="refm633.html">NC</a>)] [<a href="index.html">TOP</a>][<a href="refm292.html">UP</a>][<a href="refm292.html"><-PREV</a>][<a href="refm294.html">NEXT-></a>]</span></div> <hr /> <h1><a name="L004775" id="L004775">ThreadsWait</a></h1> <p>provides synchronization for multiple threads.</p> <h2><a name="L004776" id="L004776">Class Methods:</a></h2> <dl> <dt><a name="L004777" id="L004777"><code>ThreadsWait.all_waits(<var>thread1</var>,...)</code></a></dt> <dd> <p>waits until all of specified threads are terminated. if a block is supplied for the method, evaluates it for each thread termination.</p> <pre>require 'thwait' threads = [] 5.times {|i| threads << Thread.new { sleep 1; p Thread.current } } ThreadsWait.all_waits(*threads) {|th| p th } => #<Thread:0x401a0ca8 run> #<Thread:0x401a0d70 run> #<Thread:0x401a1130 run> #<Thread:0x401a13ec run> #<Thread:0x401a17d4 run> #<Thread:0x401a0ca8 dead> #<Thread:0x401a0d70 dead> #<Thread:0x401a1130 dead> #<Thread:0x401a13ec dead> #<Thread:0x401a17d4 dead></pre></dd> <dt><a name="L004778" id="L004778"><code>ThreadsWait.new(<var>thread1</var>,...)</code></a></dt> <dd> <p>creates synchronization object, specifying thread(s) to wait.</p></dd> </dl> <h2><a name="L004779" id="L004779">Methods:</a></h2> <dl> <dt><a name="L004780" id="L004780"><code>ThreadsWait#threads</code></a></dt> <dd> <p>list threads to be synchronized</p></dd> <dt><a name="L004781" id="L004781"><code>ThreadsWait#empty?</code></a></dt> <dd> <p>is there any thread to be synchronized.</p></dd> <dt><a name="L004782" id="L004782"><code>ThreadsWait#finished?</code></a></dt> <dd> <p>is there already terminated thread.</p></dd> <dt><a name="L004783" id="L004783"><code>ThreadsWait#join(<var>thread1</var>,...)</code></a></dt> <dd> <p>wait for specified thread(s).</p></dd> <dt><a name="L004784" id="L004784"><code>ThreadsWait#join_nowait(<var>threa1</var>,...)</code></a></dt> <dd> <p>specifies thread(s) to wait. non-blocking.</p></dd> <dt><a name="L004785" id="L004785"><code>ThreadsWait#next_wait</code></a></dt> <dd> <p>waits until any of specified threads is terminated.</p></dd> <dt><a name="L004786" id="L004786"><code>ThreadsWait#all_waits</code></a></dt> <dd> <p>waits until all of specified threads are terminated. if a block is supplied for the method, evaluates it for each thread termination.</p></dd> </dl> <hr /> <div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm482.html">INDEX</a>][<a href="refm483.html">KEYWORD</a>][<a href="refm594.html">METHOD</a>(<a href="refm633.html">NC</a>)] [<a href="index.html">TOP</a>][<a href="refm292.html">UP</a>][<a href="refm292.html"><-PREV</a>][<a href="refm294.html">NEXT-></a>]</span></div> </body> </html>