Änderungen 05.12.2023 um 14:44
This commit is contained in:
parent
582ed1a694
commit
f6668dfce7
@ -24,7 +24,7 @@ public class Fork {
|
||||
}catch (InterruptedException e){
|
||||
System.out.println("Gabel mit ID: " + id + " hat nicht funktioniert");
|
||||
}
|
||||
return true
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,40 @@ public class Philosopher implements Runnable{
|
||||
|
||||
@Override
|
||||
public void run(){
|
||||
while(true) {
|
||||
allocateForks();
|
||||
System.out.println("Philosopher " + id + " is eating");
|
||||
try{
|
||||
Thread.sleep(2000);
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
left.put();
|
||||
right.put();
|
||||
System.out.println("Philosopher " + id + " finished eating");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void allocateForks() {
|
||||
Fork firstFork, secondFork;
|
||||
|
||||
if (left.getId() < right.getId()){
|
||||
firstFork = left;
|
||||
secondFork = right;
|
||||
} else {
|
||||
firstFork = right;
|
||||
secondFork = left;
|
||||
}
|
||||
|
||||
System.out.println("Philosopher " + id + " is trying to take Fork " + firstFork.getId());
|
||||
while (!firstFork.take())
|
||||
Thread.yield();
|
||||
System.out.println("Philosopher " + id + " got Fork " + firstFork.getId());
|
||||
System.out.println("Philosopher " + id + " is trying to take Fork " + secondFork.getId());
|
||||
while (!secondFork.take())
|
||||
Thread.yield();
|
||||
System.out.println("Philosopher " + id + " got Fork " + secondFork.getId());
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public class Table {
|
||||
};
|
||||
|
||||
for (Philosopher philosopher : philosophers) {
|
||||
|
||||
Thread t = new Thread(philosopher);
|
||||
t.start();
|
||||
}
|
||||
|
26
src/DistributedSorter/SorterClient.java
Normal file
26
src/DistributedSorter/SorterClient.java
Normal file
@ -0,0 +1,26 @@
|
||||
package Prog3.src.DistributedSorter;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class SorterClient {
|
||||
public static void main(String[] args) {
|
||||
SorterClient client = new SorterClient();
|
||||
client.run();
|
||||
}
|
||||
|
||||
public void run(){
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
if(line.isEmpty())
|
||||
break;
|
||||
line = sort(line);
|
||||
System.out.println(line);
|
||||
}
|
||||
scanner.close();
|
||||
}
|
||||
|
||||
private String sort(String line){
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user