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);
 	}
 }