changeset 7:f81f6dfc0cc5

change sleep
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 11 Dec 2012 16:40:31 +0900
parents 595de657cbaf
children 9ee04de7718a
files build.xml src/ThreadTest.mf src/threadTest/Client.java src/threadTest/Server.java src/threadTest/TestThread.java
diffstat 5 files changed, 84 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build.xml	Tue Dec 11 16:40:31 2012 +0900
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="ThreadTest" default="ThreadTest" basedir=".">
+
+
+  <target name="build">
+    <mkdir dir="build"/> 
+    <javac encoding="UTF-8" srcdir="src" destdir="build">
+        <sourcepath>
+	 <pathelement path="src"/>
+        </sourcepath>
+    </javac>
+  </target>
+
+    <!-- run -->
+    <target name="run" depends="build">
+        <java classname="${main}" fork="yes" >
+        <jvmarg value="-Dfile.encoding=UTF8"/>
+        <classpath>
+	 <pathelement path="build"/>
+        </classpath>
+        </java>
+    </target>
+
+    <!-- test -->
+    <target name="test" depends="build">
+        <java classname="${test}" fork="yes" >
+        <jvmarg value="-Dfile.encoding=UTF8"/>
+        <classpath>
+	 <pathelement path="build"/>
+        </classpath>
+        </java>
+    </target>
+
+    <target name="jar" depends="build" >
+    <jar jarfile="build/ThreadTest.jar" basedir="build" manifest="src/ThreadTest.mf"/> 
+    </target>
+
+    <!-- clean -->
+    <target name="clean">
+        <delete>
+            <fileset dir="${output}">
+                <include name="**/*.class"/>
+            </fileset>
+        </delete>
+    </target>
+   <!-- tar zcvf JavaLite.tgz \-\-exclude CVS JavaLite -->
+
+
+</project>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ThreadTest.mf	Tue Dec 11 16:40:31 2012 +0900
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Created-By: 0.1.0 (Shinji KONO @ University of the Ryukyus)
+Main-Class: threadTest.TestThread
--- a/src/threadTest/Client.java	Tue Dec 13 14:33:21 2011 +0900
+++ b/src/threadTest/Client.java	Tue Dec 11 16:40:31 2012 +0900
@@ -8,11 +8,6 @@
 	}
 	
 	public void run() {
-		try {
-			server.work();
-		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
+	    server.slow_work();
 	}
 }
--- a/src/threadTest/Server.java	Tue Dec 13 14:33:21 2011 +0900
+++ b/src/threadTest/Server.java	Tue Dec 11 16:40:31 2012 +0900
@@ -3,31 +3,39 @@
 public class Server {
 	int count = 0;
 
-	void work() throws InterruptedException {
-		System.err.println("server-enter: count="+count);
+	void work()  {
+		//System.err.println("server-enter: count="+count);
 		count ++;
-		System.err.println("server-leave: count="+count);
+		//System.err.println("server-leave: count="+count);
 	}
 	
-	void slow_work() throws InterruptedException {
+	void slow_work()  {
 		int tmp;
 		tmp = count ;
-		Thread.sleep(500);
-		System.err.println("server-enter: count="+count);
+		//sloop();
+		//System.err.println("server-enter: count="+count);
 		tmp ++;
-		Thread.sleep(500);
+		//sloop();
 		count = tmp ;
-		System.err.println("server-leave: count="+count);
+		//System.err.println("server-leave: count="+count);
 	}
+
+    private void sloop()  {
+        try {
+            Thread.sleep(0);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
 	
-	synchronized void sync_work() throws InterruptedException {
+	synchronized void sync_work()  {
 		int tmp;
 		tmp = count ;
-		Thread.sleep(500);
-		System.err.println("server-enter: count="+count);
+		//Thread.sleep(500);
+		//System.err.println("server-enter: count="+count);
 		tmp ++;
-		Thread.sleep(500);
+		//Thread.sleep(500);
 		count = tmp ;
-		System.err.println("server-leave: count="+count);
+		//System.err.println("server-leave: count="+count);
 	}
 }
--- a/src/threadTest/TestThread.java	Tue Dec 13 14:33:21 2011 +0900
+++ b/src/threadTest/TestThread.java	Tue Dec 11 16:40:31 2012 +0900
@@ -4,10 +4,12 @@
 	Server t1 = new Server();
 	Client t2 = new Client(t1);
 	Client t3 = new Client(t1);
-	
+
 	public static void main(String arg[]) throws InterruptedException  {
-		TestThread test = new TestThread();
-		test.test();
+		//for(int i = 0; i<10000;i++) {
+			TestThread test = new TestThread();
+			test.test();
+		//}
 	}
 	
 	public void test() throws InterruptedException {
@@ -15,8 +17,10 @@
 		t3.start();
 		t2.join();
 		t3.join();
-		
-		System.err.println("testThread: count = "+t1.count);
+
+		if (t1.count!=2)
+			System.err.println("testThread: count = "+t1.count);
+		assert(t1.count==2);
 	}
 
 }