Rebuild
This commit is contained in:
parent
b58964e831
commit
044d5b7238
@ -1,2 +1,2 @@
|
|||||||
13c5072f2ccb7afb85b8c7ea9a97f94423aef8de
|
0005e59edec522954b80e46279a207aa7f80df59
|
||||||
2YrrJo4H6W
|
8Qxa8MHXAv
|
||||||
|
@ -46,7 +46,7 @@ by exactly 1 goroutine.</p>
|
|||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="code leading">
|
<td class="code leading">
|
||||||
<a href="http://play.golang.org/p/2YrrJo4H6W"><img title="Run code" src="play.png" class="run" /></a>
|
<a href="http://play.golang.org/p/8Qxa8MHXAv"><img title="Run code" src="play.png" class="run" /></a>
|
||||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
@ -112,22 +112,7 @@ goroutine to respond.</p>
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="docs">
|
<td class="docs">
|
||||||
<p>The <code>state</code> will be a map as in the previous
|
<p>As before we’ll count how many operations we perform.</p>
|
||||||
example.</p>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td class="code leading">
|
|
||||||
|
|
||||||
<div class="highlight"><pre> <span class="kd">var</span> <span class="nx">state</span> <span class="p">=</span> <span class="nb">make</span><span class="p">(</span><span class="kd">map</span><span class="p">[</span><span class="kt">int</span><span class="p">]</span><span class="kt">int</span><span class="p">)</span>
|
|
||||||
</pre></div>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="docs">
|
|
||||||
<p>Also as before we’ll count how many operations we
|
|
||||||
perform.</p>
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="code leading">
|
<td class="code leading">
|
||||||
@ -156,19 +141,33 @@ respectively.</p>
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="docs">
|
<td class="docs">
|
||||||
<p>Here is the goroutine that owns the <code>state</code>. This
|
<p>Here is the goroutine that owns the <code>state</code>, which
|
||||||
goroutine repeatedly selects on the <code>reads</code> and
|
is a map as in the previous example but now private
|
||||||
<code>writes</code> channels, responding to requests as they
|
to the stateful goroutine. This goroutine repeatedly
|
||||||
arrive. A response is executed by first performing
|
selects on the <code>reads</code> and <code>writes</code> channels,
|
||||||
the requested operation and then sending a value
|
responding to requests as they arrive. A response
|
||||||
on the response channel <code>resp</code> to indicate success
|
is executed by first performing the requested
|
||||||
(and the desired value in the case of <code>reads</code>).</p>
|
operation and then sending a value on the response
|
||||||
|
channel <code>resp</code> to indicate success (and the desired
|
||||||
|
value in the case of <code>reads</code>).</p>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="code leading">
|
<td class="code leading">
|
||||||
|
|
||||||
<div class="highlight"><pre> <span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
<div class="highlight"><pre> <span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||||
<span class="k">for</span> <span class="p">{</span>
|
<span class="kd">var</span> <span class="nx">state</span> <span class="p">=</span> <span class="nb">make</span><span class="p">(</span><span class="kd">map</span><span class="p">[</span><span class="kt">int</span><span class="p">]</span><span class="kt">int</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="docs">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td class="code leading">
|
||||||
|
|
||||||
|
<div class="highlight"><pre> <span class="k">for</span> <span class="p">{</span>
|
||||||
<span class="k">select</span> <span class="p">{</span>
|
<span class="k">select</span> <span class="p">{</span>
|
||||||
<span class="k">case</span> <span class="nx">read</span> <span class="o">:=</span> <span class="o"><-</span><span class="nx">reads</span><span class="p">:</span>
|
<span class="k">case</span> <span class="nx">read</span> <span class="o">:=</span> <span class="o"><-</span><span class="nx">reads</span><span class="p">:</span>
|
||||||
<span class="nx">read</span><span class="p">.</span><span class="nx">resp</span> <span class="o"><-</span> <span class="nx">state</span><span class="p">[</span><span class="nx">read</span><span class="p">.</span><span class="nx">key</span><span class="p">]</span>
|
<span class="nx">read</span><span class="p">.</span><span class="nx">resp</span> <span class="o"><-</span> <span class="nx">state</span><span class="p">[</span><span class="nx">read</span><span class="p">.</span><span class="nx">key</span><span class="p">]</span>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user