Hi! <div><br></div><div>I build VMKit and run some programs successfully. But when using java.util.concurrent.locks.ReentrantLock and java.util.concurrent.locks.Condition, I catch a Throwable : </div><div><br></div><div>    java.lang.UnsatisfiedLinkError: sun.misc.Unsafe.unpark(Ljava/lang/Object;)V</div>
<div><br></div><div>after using the function :</div><div><br></div><div>   void java.util.concurrent.locks.Condition.await()</div><div><font class="Apple-style-span" size="1"><br></font></div><div><font class="Apple-style-span" size="1">My test program is as fo</font>llows: </div>
<div><font class="Apple-style-span" size="1" face="'courier new', monospace"><br></font></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" size="1" face="'courier new', monospace"><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">import</span></b><span lang="EN-US" style="color: black; "> <u>java.lang</u>.*;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" size="1" face="'courier new', monospace"><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">import</span></b><span lang="EN-US" style="color: black; "> <u>java.util.Map</u>;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" size="1"><b><span lang="EN-US" style="color: rgb(127, 0, 85); "><font class="Apple-style-span" face="'courier new', monospace">import</font></span></b><font class="Apple-style-span" face="'courier new', monospace"><span lang="EN-US" style="color: black; "> <u><a href="http://java.io">java.io</a></u>.*;</span><span lang="EN-US"></span></font></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" size="1" face="'courier new', monospace"><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">import</span></b><span lang="EN-US" style="color: black; ">
java.util.concurrent.locks.*;</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US"><font class="Apple-style-span" size="1" face="'courier new', monospace"> </font></span></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">class</span></b><span lang="EN-US" style="color: black; "> BoundedBuffer
{</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         Lock </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         Condition </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notFull</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         Condition </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notEmpty</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">final</span></b><span lang="EN-US" style="color: black; "> Object[] </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; "> = </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">new</span></b><span lang="EN-US" style="color: black; "> Object[100];</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">int</span></b><span lang="EN-US" style="color: black; "> </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">putptr</span><span lang="EN-US" style="color: black; ">, </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">takeptr</span><span lang="EN-US" style="color: black; ">, </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US"><font class="Apple-style-span" face="'courier new', monospace" size="1"> </font></span></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">public</span></b><span lang="EN-US" style="color: black; "> BoundedBuffer(</span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">int</span></b><span lang="EN-US" style="color: black; "> init_count)</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         {</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; "> = </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">new</span></b><span lang="EN-US" style="color: black; "> ReentrantLock();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notFull</span><span lang="EN-US" style="color: black; ">  = </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.newCondition(); </span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notEmpty</span><span lang="EN-US" style="color: black; "> = </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.newCondition(); </span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US"><font class="Apple-style-span" face="'courier new', monospace" size="1"> </font></span></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; "> = init_count;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">putptr</span><span lang="EN-US" style="color: black; "> = </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">takeptr</span><span lang="EN-US" style="color: black; "> = 0;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">public</span></b><span lang="EN-US" style="color: black; "> </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">void</span></b><span lang="EN-US" style="color: black; "> put(Object x) </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">throws</span></b><span lang="EN-US" style="color: black; ">
InterruptedException {</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.lock();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">try</span></b><span lang="EN-US" style="color: black; "> {</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">while</span></b><span lang="EN-US" style="color: black; "> (</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; "> == </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; ">.</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">length</span><span lang="EN-US" style="color: black; ">)</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                                     </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notFull</span><span lang="EN-US" style="color: black; ">.await();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; ">[</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">putptr</span><span lang="EN-US" style="color: black; ">] = x;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">if</span></b><span lang="EN-US" style="color: black; "> (++</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">putptr</span><span lang="EN-US" style="color: black; "> == </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; ">.</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">length</span><span lang="EN-US" style="color: black; ">) </span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                                     </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">putptr</span><span lang="EN-US" style="color: black; "> = 0;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            ++</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notEmpty</span><span lang="EN-US" style="color: black; ">.signal();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   } </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">finally</span></b><span lang="EN-US" style="color: black; "> {</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.unlock();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US"><font class="Apple-style-span" face="'courier new', monospace" size="1"> </font></span></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">public</span></b><span lang="EN-US" style="color: black; "> Object take() </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">throws</span></b><span lang="EN-US" style="color: black; "> InterruptedException {</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   Object x = </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">null</span></b><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.lock();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">try</span></b><span lang="EN-US" style="color: black; "> {</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">while</span></b><span lang="EN-US" style="color: black; "> (</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; "> == 0)</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                                     </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notEmpty</span><span lang="EN-US" style="color: black; ">.await();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            x = </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; ">[</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">takeptr</span><span lang="EN-US" style="color: black; ">];</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">if</span></b><span lang="EN-US" style="color: black; "> (++</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">takeptr</span><span lang="EN-US" style="color: black; "> == </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">items</span><span lang="EN-US" style="color: black; ">.</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">length</span><span lang="EN-US" style="color: black; ">) </span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                                     </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">takeptr</span><span lang="EN-US" style="color: black; "> = 0;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            --</span><span lang="EN-US" style="color: rgb(0, 0, 192); ">count</span><span lang="EN-US" style="color: black; ">;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">notFull</span><span lang="EN-US" style="color: black; ">.signal();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   } </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">catch</span></b><span lang="EN-US" style="color: black; "> (Throwable t){</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            System.</span><i><span lang="EN-US" style="color: rgb(0, 0, 192); ">out</span></i><span lang="EN-US" style="color: black; ">.println(</span><span lang="EN-US" style="color: rgb(42, 0, 255); ">"BoundedBuffer.catch "</span><span lang="EN-US" style="color: black; "> + t.toString());</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   } </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">finally</span></b><span lang="EN-US" style="color: black; "> {</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                            </span><span lang="EN-US" style="color: rgb(0, 0, 192); ">lock</span><span lang="EN-US" style="color: black; ">.unlock();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">return</span></b><span lang="EN-US" style="color: black; "> x;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US"><font class="Apple-style-span" face="'courier new', monospace" size="1"> </font></span></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">public</span></b><span lang="EN-US" style="color: black; "> </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">static</span></b><span lang="EN-US" style="color: black; "> </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">void</span></b><span lang="EN-US" style="color: black; "> main(String[] args) </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">throws</span></b><span lang="EN-US" style="color: black; "> InterruptedException</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         {</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   BoundedBuffer buffer = </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">new</span></b><span lang="EN-US" style="color: black; "> BoundedBuffer(0);</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   buffer.take();</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">                   </span><b><span lang="EN-US" style="color: rgb(127, 0, 85); ">return</span></b><span lang="EN-US" style="color: black; "> ;</span><span lang="EN-US"></span></font></p>


<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">         }</span><span lang="EN-US"></span></font></p>

<p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><font class="Apple-style-span" face="'courier new', monospace" size="1"><span lang="EN-US" style="color: black; ">}</span><span lang="EN-US"></span></font></p><p class="MsoNormal" align="left" style="text-align:left;mso-layout-grid-align:
none;text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:
Monospace;mso-bidi-font-family:Monospace;color:black;mso-font-kerning:0pt"><br></span></p></div></div></blockquote><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: arial; font-size: 13px; ">Can anyone please tell me why the error?</span></font><div>
<font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: arial; font-size: 13px; "><br></span></font></div><div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: arial; font-size: 13px; ">Thanks!</span></font></div>
<div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: arial; font-size: 13px; "><br></span></font></div><div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: arial; font-size: 13px; ">Li Li</span></font></div>