<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-TW">
		<id>https://fgchen.com/wiki/index.php?action=history&amp;feed=atom&amp;title=SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_221</id>
		<title>SCJP 1.6版考題 221 - 修訂歷史</title>
		<link rel="self" type="application/atom+xml" href="https://fgchen.com/wiki/index.php?action=history&amp;feed=atom&amp;title=SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_221"/>
		<link rel="alternate" type="text/html" href="https://fgchen.com/wiki/index.php?title=SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_221&amp;action=history"/>
		<updated>2026-05-04T18:38:56Z</updated>
		<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://fgchen.com/wiki/index.php?title=SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_221&amp;diff=1134&amp;oldid=prev</id>
		<title>Ikk：新頁面: Given:  &lt;br&gt;7. &amp;nbsp; void waitForSignal(){  &lt;br&gt;8. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object obj = new Object();  &lt;br&gt;9. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized(Thread.c...</title>
		<link rel="alternate" type="text/html" href="https://fgchen.com/wiki/index.php?title=SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_221&amp;diff=1134&amp;oldid=prev"/>
				<updated>2013-03-27T16:44:33Z</updated>
		
		<summary type="html">&lt;p&gt;新頁面: Given:  &amp;lt;br&amp;gt;7.   void waitForSignal(){  &amp;lt;br&amp;gt;8.           Object obj = new Object();  &amp;lt;br&amp;gt;9.            synchronized(Thread.c...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Given: &lt;br /&gt;
&amp;lt;br&amp;gt;7. &amp;amp;nbsp; void waitForSignal(){ &lt;br /&gt;
&amp;lt;br&amp;gt;8. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; Object obj = new Object(); &lt;br /&gt;
&amp;lt;br&amp;gt;9. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;synchronized(Thread.currentThread()){ &lt;br /&gt;
&amp;lt;br&amp;gt;10. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; obj.wait(); &lt;br /&gt;
&amp;lt;br&amp;gt;11. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; obj.notify(); &lt;br /&gt;
&amp;lt;br&amp;gt;12. &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;} &lt;br /&gt;
&amp;lt;br&amp;gt;13. &amp;amp;nbsp;} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Which statement is true? &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;amp;nbsp; A. This code can throw an InterruptedException. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;amp;nbsp; B. This code can throw an IllegalMonitorStateException. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; C. This code can throw a TimeoutException after ten minutes. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; D. Reversing the order of obj.wait() and obj.notify() might cause this method to complete normally. &amp;lt;br&amp;gt;&amp;amp;nbsp; E. A call to notify() or notifyAll() from another thread might cause this method to complete normally. &amp;lt;br&amp;gt;&amp;amp;nbsp; F. This code does NOT compile unless &amp;quot;obj.wait()&amp;quot; is replaced with &amp;quot;((Thread) obj).wait()&amp;quot;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;解答&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: medium;&amp;quot;&amp;gt;Ans: B   &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt; 解說:&lt;br /&gt;
IllegalMonitorStateException是說一個執行緒試圖在未取得物件lock時，去對該物件進行等待(wait)或通知(notify)的動作， &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;會產生的一個不合法的監控狀態例外。 &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;正確的程式寫法應如下： &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;synchronized(obj) { &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;}&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;取行obj的lock後，方能對obj進行wait或notify。 &lt;br /&gt;
&amp;lt;/span&amp;gt;	&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{SCJP 1.6版考題講解}}&lt;/div&gt;</summary>
		<author><name>Ikk</name></author>	</entry>

	</feed>