瀏覽代碼

Create empty mutex

DricomDragon 5 年之前
父節點
當前提交
9e67c0fdd0
共有 4 個文件被更改,包括 24 次插入5 次删除
  1. 6 2
      ta1/Main.java
  2. 3 0
      ta1/Mutex.java
  3. 10 0
      ta1/MutexTypeD.java
  4. 5 3
      ta1/Task.java

+ 6 - 2
ta1/Main.java

@@ -1,8 +1,12 @@
 
 class Main {  
 	public static void main(String args[]){
-		System.out.println("Hello Java");
-		Task t1 = new Task("T1", 1);
+		System.out.println("Start thread lab");
+
+		// Create different mutex
+		Mutex mutD = new MutexTypeD();
+
+		Task t1 = new Task("T1", 1, mutD);
 		t1.describe();
 	}
 }  

+ 3 - 0
ta1/Mutex.java

@@ -0,0 +1,3 @@
+
+public abstract class Mutex {
+}

+ 10 - 0
ta1/MutexTypeD.java

@@ -0,0 +1,10 @@
+
+class MutexTypeD extends Mutex {
+	
+	MutexTypeD() {
+	}
+
+	public String toString() {
+		return "D";
+	}
+}

+ 5 - 3
ta1/Task.java

@@ -1,15 +1,17 @@
 
-class Task {
+class Task extends Thread {
 
 	private String name;
 	private int id;
+	private Mutex critical;
 
-	public Task(String name_, int id_) {
+	public Task(String name_, int id_, Mutex critical_) {
 		name = name_;
 		id = id_;
+		critical = critical_;
 	}
 
 	public void describe() {
-		System.out.println(id + ":" + name);
+		System.out.println(id + "<" + critical + ">:" + name);
 	}
 }