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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Wersja 3<br />

package prodcons3;<br />

import java.util.concurrent.ArrayBlockingQueue;<br />

public class ProducerConsumerTest3 {<br />

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

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

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

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

p1.start();<br />

c1.start();<br />

}<br />

}<br />

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

package prodcons3;<br />

import java.util.concurrent.BlockingQueue;<br />

public class Producer3 extends Thread {<br />

private BlockingQueue cubbyhole;<br />

private int number;<br />

public Producer3(BlockingQueue c, int num) {<br />

cubbyhole = c;<br />

number = num;<br />

}<br />

public void run() {<br />

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

try {<br />

cubbyhole.put(i);<br />

System.out.format("Producer #%d put: %d%n", number, i);<br />

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

} catch (InterruptedException e) { }<br />

}<br />

}<br />

}<br />

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

package prodcons3;<br />

import java.util.concurrent.BlockingQueue;<br />

public class Consumer3 extends Thread {<br />

private BlockingQueue cubbyhole;<br />

private int number;<br />

public Consumer3(BlockingQueue c, int num) {<br />

cubbyhole = c;<br />

number = num;<br />

}<br />

}<br />

public void run() {<br />

int value = 0;<br />

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

try {<br />

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

System.out.format("Consumer #%d got: %d%n", number, value);<br />

} catch (InterruptedException e) { }<br />

}<br />

}<br />

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

12

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

Saved successfully!

Ooh no, something went wrong!