07.03.2014 Views

Programowanie współbieżne w języku Java

Programowanie współbieżne w języku Java

Programowanie współbieżne w języku Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Zadanie producent – konsument rozwiązywane w czterech wersjach.<br />

Wersja 1<br />

package prodcons01;<br />

public class ProducerConsumerTest1 {<br />

public static void main(String[] args) {<br />

CubbyHole1 c = new CubbyHole1();<br />

Producer1 p1 = new Producer1(c, 1);<br />

Consumer1 c1 = new Consumer1(c, 1);<br />

p1.start();<br />

c1.start();<br />

}<br />

}<br />

=============================================<br />

package prodcons01;<br />

public class Producer1 extends Thread {<br />

private CubbyHole1 cubbyhole;<br />

private int number;<br />

public Producer1(CubbyHole1 c, int number) {<br />

cubbyhole = c;<br />

this.number = number;<br />

}<br />

@Override<br />

public void run() {<br />

for (int i = 0; i < 10; i++) {<br />

cubbyhole.put(number, i);<br />

try {<br />

sleep((int)(Math.random() * 500));<br />

} catch (InterruptedException e) {<br />

System.err.println(e.getMessage());<br />

}<br />

}<br />

}<br />

}<br />

===================================================<br />

package prodcons01;<br />

public class Consumer1 extends Thread {<br />

private CubbyHole1 cubbyhole;<br />

private int number;<br />

public Consumer1(CubbyHole1 c, int number) {<br />

cubbyhole = c;<br />

this.number = number;<br />

}<br />

@Override<br />

public void run() {<br />

int value = 0;<br />

for (int i = 0; i < 10; i++) {<br />

value = cubbyhole.get(number);<br />

try {<br />

sleep((int)(Math.random() * 1000));<br />

} catch (InterruptedException e) {<br />

System.err.println(e.getMessage());<br />

}<br />

}<br />

}<br />

}<br />

Lab. „<strong>Programowanie</strong> <strong>współbieżne</strong> w <strong>języku</strong> <strong>Java</strong>”<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!