<?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_234</id>
		<title>SCJP 1.6版考題 234 - 修訂歷史</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_234"/>
		<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_234&amp;action=history"/>
		<updated>2026-05-04T14:18:50Z</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_234&amp;diff=1122&amp;oldid=prev</id>
		<title>Ikk：新頁面: &lt;br&gt;&amp;nbsp; Given:  &lt;br&gt;foo and bar are public references available to many other threads, foo refers to a Thread and bar is an Object.   The thread foo is currently executing bar.wait(...</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_234&amp;diff=1122&amp;oldid=prev"/>
				<updated>2013-03-27T13:44:11Z</updated>
		
		<summary type="html">&lt;p&gt;新頁面: &amp;lt;br&amp;gt;  Given:  &amp;lt;br&amp;gt;foo and bar are public references available to many other threads, foo refers to a Thread and bar is an Object.   The thread foo is currently executing bar.wait(...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;amp;nbsp; Given: &lt;br /&gt;
&amp;lt;br&amp;gt;foo and bar are public references available to many other threads, foo refers to a Thread and bar is an Object. &lt;br /&gt;
&lt;br /&gt;
The thread foo is currently executing bar.wait(). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From another thread, what provides the most reliable way to ensure that foo will stop executing wait()?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; A. foo.notify(); &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; B. bar.notify(); &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; C. foo.notifyAll();&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; D. Thread.notify();&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; E. bar.notifyAll(); &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;nbsp; F. Object.notify(); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&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: E   &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;
foo和bar是可讓其他執行緒存取的公開參考，foo參考至一個執行緒(Thread)，bar是一個Object物件，執行緒foo正在執行bar.wait() &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;從另一個執行緒，可以提供一個最可靠的方式來確認foo可以停止執行wait方法？ &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;由於是對bar停止wait，所以答案不是B就是E，notify與notifyAll的差異在於一個wait池中可能會有多個執行在等待bar，若單下notify，只有一個wait池中的執行緒可以離開wait池，這個執行緒未必是foo這個執行緒，而notifyAll的意思是讓所有等待bar的執行緒全數離開bar的wait池。 &lt;br /&gt;
&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>