avohoitokonttori mallinnettu java-luokkana

class Task{
int completionRate=0;
boolean isReady=false;
public synchronized boolean isReady(){
if(completionRate>75){return true;}
return false;
}
public synchronized void increaseCompletionRate(){
completionRate =25;
}
public synchronized void decreaseCompletionRate(){
completionRate-=25;
}
}


class Person
{

final String name;
Person(String name){
this.name=name;
}
public String getName(){return name;}
public void increaseFrustrationLevel(){}
}

class WorkerTask extends Thread{
final Person person;
final Task task;
final OpenOffice office;
WorkerTask(Person person,Task task, OpenOffice office){
super(person.getName());
this.person=person;
this.task=task;
this.office=office;
}
public Task getTask(){return task;}


void workOnTask(Task task){
System.out.println("Workin on task..." task.completionRate);
task.increaseCompletionRate();
}
public void run(){
while(!task.isReady()){
try{
sleep(1000);
workOnTask(task);
sleep(1000);
}
catch(InterruptedException interrupted){
System.out.println("INTERRUPTED");
task.decreaseCompletionRate();
person.increaseFrustrationLevel();
WorkerTask other=new WorkerTask(person,task,office);
other.start();
office.generateDistraction(other);
}
}
}
}

public class OpenOffice{
public static void main(String...args){
OpenOffice office=new OpenOffice();
WorkerTask task=new WorkerTask(new Person("jaska"),new Task(),office);
task.start();
office.generateDistraction(task);
}

public void generateDistraction(WorkerTask task){
task.interrupt();
}
}
0229
Äänestä

Muut lukivat myös

Vastaukset

Vanhimmat

Ei vielä vastauksia

Aloittaja odottaa vastauksia. Kerro oma näkemyksesi ensimmäisenä.

Kommentoi aloitusta


XXX kirjoitti:

class Task{
int completionRate=0;
boolean isReady=false;
public synchronized boolean isReady(){
if(completionRate>75){return true;}
return false;
}
public synchronized void increaseCompletionRate(){
completionRate =25;
}
public synchronized void decreaseCompletionRate(){
completionRate-=25;
}
}


class Person
{

final String name;
Person(String name){
this.name=name;
}
public String getName(){return name;}
public void increaseFrustrationLevel(){}
}

class WorkerTask extends Thread{
final Person person;
final Task task;
final OpenOffice office;
WorkerTask(Person person,Task task, OpenOffice office){
super(person.getName());
this.person=person;
this.task=task;
this.office=office;
}
public Task getTask(){return task;}


void workOnTask(Task task){
System.out.println("Workin on task..." task.completionRate);
task.increaseCompletionRate();
}
public void run(){
while(!task.isReady()){
try{
sleep(1000);
workOnTask(task);
sleep(1000);
}
catch(InterruptedException interrupted){
System.out.println("INTERRUPTED");
task.decreaseCompletionRate();
person.increaseFrustrationLevel();
WorkerTask other=new WorkerTask(person,task,office);
other.start();
office.generateDistraction(other);
}
}
}
}

public class OpenOffice{
public static void main(String...args){
OpenOffice office=new OpenOffice();
WorkerTask task=new WorkerTask(new Person("jaska"),new Task(),office);
task.start();
office.generateDistraction(task);
}

public void generateDistraction(WorkerTask task){
task.interrupt();
}
}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu