Skip to content
Snippets Groups Projects
Commit 7bcc8777 authored by nuklin's avatar nuklin
Browse files

Perutojen luonti

parent 8d537f69
No related branches found
No related tags found
No related merge requests found
...@@ -2,15 +2,36 @@ package fi.utu.tech.threadrunner2.assignment; ...@@ -2,15 +2,36 @@ package fi.utu.tech.threadrunner2.assignment;
import fi.utu.tech.threadrunner2.mediator.ControlSet; import fi.utu.tech.threadrunner2.mediator.ControlSet;
import fi.utu.tech.threadrunner2.mediator.Mediator; import fi.utu.tech.threadrunner2.mediator.Mediator;
import fi.utu.tech.threadrunner2.works.Work;
import java.util.concurrent.BlockingQueue;
public class Task1UsingThreadDistributor extends Thread implements Distributor {
public class Task1UsingThreadDistributor implements Distributor { private Mediator mediator;
private BlockingQueue<Work> workList;
private ControlSet control;
public Task1UsingThreadDistributor(Mediator mediator, ControlSet control) { public Task1UsingThreadDistributor(Mediator mediator, ControlSet control) {
this.mediator = mediator;
this.control = control;
mediator.registerThread(this.hashCode(), "Thread");
} }
public void execute() { public void execute() {
this.start();
mediator.setRunStatus("Created", this.hashCode());
}
public void run() {
//mediator.registerThread(this.hashCode(), "Jotain1");
mediator.setRunStatus("Running", this.hashCode());
int maara = control.getBlockSize();
workList = mediator.getWorkSlice(maara); //antaa listasta yhden työn. Tämä täytyy antaa tehtäväksi jollekin!
for( Work item : workList) {
mediator.setWorkStatus("Calculating", item);
item.work();
mediator.setWorkStatus("Done", item);
mediator.increaseCalculated(this.hashCode());
}
mediator.setRunStatus("Ended", this.hashCode());
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment