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.

Wersja 4<br />

package prodcons04;<br />

public class ProducerConsumerTest4 {<br />

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

SemaphoreBoundedBuffer c = new SemaphoreBoundedBuffer(1);<br />

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

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

p1.start();<br />

c1.start();<br />

}<br />

}<br />

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

package prodcons04;<br />

public class Producer4 extends Thread {<br />

private SemaphoreBoundedBuffer cubbyhole;<br />

private int number;<br />

public Producer4(SemaphoreBoundedBuffer 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 />

try {<br />

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

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

} catch (InterruptedException e) {<br />

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

}<br />

}<br />

}<br />

}<br />

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

package prodcons04;<br />

public class Consumer4 extends Thread {<br />

private SemaphoreBoundedBuffer cubbyhole;<br />

private int number;<br />

public Consumer4(SemaphoreBoundedBuffer 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 />

try {<br />

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

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

} catch (InterruptedException e) {<br />

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

}<br />

}<br />

}<br />

}<br />

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

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

13

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

Saved successfully!

Ooh no, something went wrong!