[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 12430] Re: SharedCounter の実験 (1) - 再送
高橋(智)です。配信されなかったようなので再送しています。
徹さんのサンプルを
CPU(AMD Opteron 244) x 2, WindowsXP(x64 Edition), J2SE 5.0 Update6(ServerVM)
で起動したのですが、なぜか終了せずにインクリメントし続けるみたいです...
なので、以下のようにmainメソッドだけを書き換えて実行してみました。
----------------------------------------------------------------------------
public final static void main(final String[] args) throws Exception {
SharedCounterIncrementor sci = new SharedCounterIncrementor();
Thread t1 = new Thread(sci);
Thread t2 = new Thread(sci);
t1.start();
System.out.printf("t1 started\n");
t2.start();
System.out.printf("t2 started\n");
System.out.printf("start sleeping\n");
Thread.sleep(10000);
System.out.printf("end sleeping\n");
t1.interrupt();
System.out.printf("t1 interrupted\n");
t2.interrupt();
System.out.printf("t2 interrupted\n");
t1.join();
System.out.printf("t1 joined\n");
t2.join();
System.out.printf("t1 joined\n");
System.out.println("Shared counter is " + sci.counter);
}
----------------------------------------------------------------------------
結果は以下のようになり、t1.join();が戻ってこないみたいです。
----------------------------------------------------------------------------
C:\tmp>java SharedCounterIncrementor
t1 started
t2 started
start sleeping
end sleeping
t1 interrupted
t2 interrupted
----------------------------------------------------------------------------
"TAKAHASHI,Toru" wrote:
snip
> Name: SharedCounterIncrementor.java
> SharedCounterIncrementor.java Type: text/java
> Encoding: Base64
--
高橋智宏
Java読書会( http://www.javareading.com/bof/ )