Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 6d36cb72372cfb7c8fee63f4d6dc0530 > files > 466

ruby-docs-1.8.5-31.el5_9.x86_64.rpm

<?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>)]&nbsp;&nbsp;&nbsp;[<a href="index.html">TOP</a>][<a href="refm292.html">UP</a>][<a href="refm292.html">&lt;-PREV</a>][<a href="refm294.html">NEXT-&gt;</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 &lt;&lt; Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| p th }
=&gt; #&lt;Thread:0x401a0ca8 run&gt;
   #&lt;Thread:0x401a0d70 run&gt;
   #&lt;Thread:0x401a1130 run&gt;
   #&lt;Thread:0x401a13ec run&gt;
   #&lt;Thread:0x401a17d4 run&gt;
   #&lt;Thread:0x401a0ca8 dead&gt;
   #&lt;Thread:0x401a0d70 dead&gt;
   #&lt;Thread:0x401a1130 dead&gt;
   #&lt;Thread:0x401a13ec dead&gt;
   #&lt;Thread:0x401a17d4 dead&gt;</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>)]&nbsp;&nbsp;&nbsp;[<a href="index.html">TOP</a>][<a href="refm292.html">UP</a>][<a href="refm292.html">&lt;-PREV</a>][<a href="refm294.html">NEXT-&gt;</a>]</span></div>

</body>
</html>