changeset 11:4a4cc3c3b006 default tip

add figs
author Masakiyo Okuhma <e165725@ie.u-ryukyu.ac.jp>
date Wed, 31 Jan 2018 17:23:14 +0900
parents 272cfe639e2f
children
files figs/ThreadTest.pu figs/ThreadTest.svg src/main/java/deadLockTest/TestDeadLock.java src/main/java/threadTest/Client.java src/main/java/threadTest/Server.java src/main/java/threadTest/TestThread.java
diffstat 6 files changed, 97 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/figs/ThreadTest.pu	Wed Jan 31 17:23:14 2018 +0900
@@ -0,0 +1,37 @@
+@startuml test.svg
+skinparam shadowing false
+title ThreadTest
+
+participant ThreadTest as ThreadTest
+create s0
+ThreadTest -> s0 :new()
+
+create t1
+ThreadTest -> t1 :new()
+
+create t2
+ThreadTest -> t2 :new()
+
+create t3
+ThreadTest -> t3 :new()
+
+ThreadTest -> t1 :start()
+activate t1
+ThreadTest -> t2 :start()
+activate t2
+ThreadTest -> t3 :start()
+activate t3
+
+t1 -> ThreadTest :stringWork()
+t2 -> ThreadTest :stringWork()
+t3 -> ThreadTest :stringWork()
+
+t1 --> ThreadTest
+deactivate t1
+t2 --> ThreadTest
+deactivate t2
+t3 --> ThreadTest
+deactivate t3
+
+ThreadTest -> s0 :showResultAtomc()
+@enduml
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/figs/ThreadTest.svg	Wed Jan 31 17:23:14 2018 +0900
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="538px" preserveAspectRatio="none" style="width:339px;height:538px;" version="1.1" viewBox="0 0 339 538" width="339px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="127" y="23.5352">ThreadTest</text><rect fill="#FFFFFF" height="160.8633" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="233" y="261.9297"/><rect fill="#FFFFFF" height="145.5527" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="271" y="291.2402"/><rect fill="#FFFFFF" height="130.2422" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="320.5508"/><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="30" x="184" y="74.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="16" x="191" y="95.5117">s0</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="224" y="116.4648"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="231" y="137">t1</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="262" y="157.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="269" y="178.4883">t2</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="300" y="199.4414"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="307" y="219.9766">t3</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="64.9766" y2="498.1035"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="199" x2="199" y1="105.7207" y2="498.1035"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="238" x2="238" y1="147.209" y2="498.1035"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="276" x2="276" y1="188.6973" y2="498.1035"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="314" x2="314" y1="230.1855" y2="498.1035"/><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="8" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="15" y="54.0234">ThreadTest</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="8" y="497.1035"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="15" y="517.6387">ThreadTest</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="30" x="184" y="497.1035"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="16" x="191" y="517.6387">s0</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="224" y="497.1035"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="231" y="517.6387">t1</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="262" y="497.1035"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="269" y="517.6387">t2</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="300" y="497.1035"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="307" y="517.6387">t3</text><rect fill="#FFFFFF" height="160.8633" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="233" y="261.9297"/><rect fill="#FFFFFF" height="145.5527" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="271" y="291.2402"/><rect fill="#FFFFFF" height="130.2422" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="320.5508"/><polygon fill="#A80036" points="172,91.9766,182,95.9766,172,99.9766,176,95.9766" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="178" y1="95.9766" y2="95.9766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="61" y="91.5449">new()</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="30" x="184" y="74.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="16" x="191" y="95.5117">s0</text><polygon fill="#A80036" points="212,133.4648,222,137.4648,212,141.4648,216,137.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="218" y1="137.4648" y2="137.4648"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="61" y="133.0332">new()</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="224" y="116.4648"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="231" y="137">t1</text><polygon fill="#A80036" points="250,174.9531,260,178.9531,250,182.9531,254,178.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="256" y1="178.9531" y2="178.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="61" y="174.5215">new()</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="262" y="157.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="269" y="178.4883">t2</text><polygon fill="#A80036" points="288,216.4414,298,220.4414,288,224.4414,292,220.4414" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="294" y1="220.4414" y2="220.4414"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="61" y="216.0098">new()</text><rect fill="#FEFECE" height="30.4883" style="stroke: #A80036; stroke-width: 1.5;" width="28" x="300" y="199.4414"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="14" x="307" y="219.9766">t3</text><polygon fill="#A80036" points="221,257.9297,231,261.9297,221,265.9297,225,261.9297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="227" y1="261.9297" y2="261.9297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="61" y="257.498">start()</text><polygon fill="#A80036" points="259,287.2402,269,291.2402,259,295.2402,263,291.2402" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="265" y1="291.2402" y2="291.2402"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="61" y="286.8086">start()</text><polygon fill="#A80036" points="297,316.5508,307,320.5508,297,324.5508,301,320.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="303" y1="320.5508" y2="320.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="61" y="316.1191">start()</text><polygon fill="#A80036" points="65,345.8613,55,349.8613,65,353.8613,61,349.8613" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="232" y1="349.8613" y2="349.8613"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="71" y="345.4297">stringWork()</text><polygon fill="#A80036" points="65,375.1719,55,379.1719,65,383.1719,61,379.1719" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="270" y1="379.1719" y2="379.1719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="71" y="374.7402">stringWork()</text><polygon fill="#A80036" points="65,404.4824,55,408.4824,65,412.4824,61,408.4824" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59" x2="308" y1="408.4824" y2="408.4824"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="71" y="404.0508">stringWork()</text><polygon fill="#A80036" points="65,418.793,55,422.793,65,426.793,61,422.793" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="59" x2="237" y1="422.793" y2="422.793"/><polygon fill="#A80036" points="65,432.793,55,436.793,65,440.793,61,436.793" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="59" x2="275" y1="436.793" y2="436.793"/><polygon fill="#A80036" points="65,446.793,55,450.793,65,454.793,61,450.793" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="59" x2="313" y1="450.793" y2="450.793"/><polygon fill="#A80036" points="187,475.793,197,479.793,187,483.793,191,479.793" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54" x2="193" y1="479.793" y2="479.793"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="61" y="475.3613">showResultAtomc()</text><!--
+@startuml test.svg
+skinparam shadowing false
+title ThreadTest
+
+participant ThreadTest as ThreadTest
+create s0
+ThreadTest -> s0 :new()
+
+create t1
+ThreadTest -> t1 :new()
+
+create t2
+ThreadTest -> t2 :new()
+
+create t3
+ThreadTest -> t3 :new()
+
+ThreadTest -> t1 :start()
+activate t1
+ThreadTest -> t2 :start()
+activate t2
+ThreadTest -> t3 :start()
+activate t3
+
+t1 -> ThreadTest :stringWork()
+t2 -> ThreadTest :stringWork()
+t3 -> ThreadTest :stringWork()
+
+t1 - -> ThreadTest
+deactivate t1
+t2 - -> ThreadTest
+deactivate t2
+t3 - -> ThreadTest
+deactivate t3
+
+ThreadTest -> s0 :showResultAtomc()
+@enduml
+
+PlantUML version 1.2018.01(Mon Jan 29 03:08:22 JST 2018)
+(GPL source distribution)
+Java Runtime: Java(TM) SE Runtime Environment
+JVM: Java HotSpot(TM) 64-Bit Server VM
+Java Version: 1.8.0_121-b13
+Operating System: Mac OS X
+OS Version: 10.13.2
+Default Encoding: UTF-8
+Language: ja
+Country: JP
+--></g></svg>
\ No newline at end of file
--- a/src/main/java/deadLockTest/TestDeadLock.java	Tue Dec 19 14:26:35 2017 +0900
+++ b/src/main/java/deadLockTest/TestDeadLock.java	Wed Jan 31 17:23:14 2018 +0900
@@ -19,8 +19,9 @@
 		t3.join();
 
 		System.err.println(
-				"Plane = "+plane.count+
-				" Hotel = "+hotel.count);
+				"Plane = " + plane.count +
+						" Hotel = " + hotel.count);
+
 	}
 
 }
--- a/src/main/java/threadTest/Client.java	Tue Dec 19 14:26:35 2017 +0900
+++ b/src/main/java/threadTest/Client.java	Wed Jan 31 17:23:14 2018 +0900
@@ -9,7 +9,7 @@
 	}
 
     public void run() {
-	    server.slow_work();
+	    server.sync_work();
     }
 
     public void run1() {
--- a/src/main/java/threadTest/Server.java	Tue Dec 19 14:26:35 2017 +0900
+++ b/src/main/java/threadTest/Server.java	Wed Jan 31 17:23:14 2018 +0900
@@ -44,7 +44,7 @@
 	}
 
 
-    synchronized void stringWork(String s)  {
+    void stringWork(String s)  {
         sharedString += s;
     }
 
@@ -55,9 +55,10 @@
 	}
 
     void showResult() {
-        if (count != 2)
+        if (count != 3)
             System.err.println("testThread: count = " + count);
-        assert (count == 2);
+        assert (count == 3);
+        //System.out.println(count);
     }
 
     void showResultAtomc() {
--- a/src/main/java/threadTest/TestThread.java	Tue Dec 19 14:26:35 2017 +0900
+++ b/src/main/java/threadTest/TestThread.java	Wed Jan 31 17:23:14 2018 +0900
@@ -22,7 +22,7 @@
         t2.join();
         t3.join();
         s0.showResult();
-        // s0.showResultAtomc();
-        // s0.showResultSting();
+        //s0.showResultAtomc();
+         //s0.showResultSting();
     }
 }