Mercurial > hg > y16 > e165725 > os > ex5.2
changeset 5:5498b5524aa7
add sleep and synchronized work() method.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Dec 2011 14:24:47 +0900 |
parents | 9b3876d1a253 |
children | 595de657cbaf |
files | src/threadTest/Client.java src/threadTest/Server.java |
diffstat | 2 files changed, 30 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/threadTest/Client.java Sat Jul 09 11:40:48 2011 +0900 +++ b/src/threadTest/Client.java Tue Dec 13 14:24:47 2011 +0900 @@ -8,6 +8,11 @@ } public void run() { - server.work(); + try { + server.work(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } }
--- a/src/threadTest/Server.java Sat Jul 09 11:40:48 2011 +0900 +++ b/src/threadTest/Server.java Tue Dec 13 14:24:47 2011 +0900 @@ -2,10 +2,32 @@ public class Server { int count = 0; + + void work() throws InterruptedException { + System.err.println("server-enter: count="+count); + count ++; + System.err.println("server-leave: count="+count); + } - void work() { + void slow_work() throws InterruptedException { + int tmp; + tmp = count ; + Thread.sleep(500); System.err.println("server-enter: count="+count); - count++; + tmp ++; + Thread.sleep(500); + count = tmp ; + System.err.println("server-leave: count="+count); + } + + synchronized void sync_work() throws InterruptedException { + int tmp; + tmp = count ; + Thread.sleep(500); + System.err.println("server-enter: count="+count); + tmp ++; + Thread.sleep(500); + count = tmp ; System.err.println("server-leave: count="+count); } }