17 *
18 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
19 * CA 95054 USA or visit www.sun.com if you need additional information or
20 * have any questions.
21 */
22
23 /*
24 * This file is available under and governed by the GNU General Public
25 * License version 2 only, as published by the Free Software Foundation.
26 * However, the following notice accompanied the original version of this
27 * file:
28 *
29 * Written by Doug Lea with assistance from members of JCP JSR-166
30 * Expert Group and released to the public domain, as explained at
31 * http://creativecommons.org/licenses/publicdomain
32 */
33
34 /*
35 * @test
36 * @bug 4486658
37 * @compile -source 1.5 ProducerConsumerLoops.java
38 * @run main/timeout=3600 ProducerConsumerLoops
39 * @summary multiple producers and consumers using blocking queues
40 */
41
42 import java.util.concurrent.*;
43
44 public class ProducerConsumerLoops {
45 static final int CAPACITY = 100;
46
47 static final ExecutorService pool = Executors.newCachedThreadPool();
48 static boolean print = false;
49 static int producerSum;
50 static int consumerSum;
51 static synchronized void addProducerSum(int x) {
52 producerSum += x;
53 }
54
55 static synchronized void addConsumerSum(int x) {
56 consumerSum += x;
57 }
|
17 *
18 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
19 * CA 95054 USA or visit www.sun.com if you need additional information or
20 * have any questions.
21 */
22
23 /*
24 * This file is available under and governed by the GNU General Public
25 * License version 2 only, as published by the Free Software Foundation.
26 * However, the following notice accompanied the original version of this
27 * file:
28 *
29 * Written by Doug Lea with assistance from members of JCP JSR-166
30 * Expert Group and released to the public domain, as explained at
31 * http://creativecommons.org/licenses/publicdomain
32 */
33
34 /*
35 * @test
36 * @bug 4486658
37 * @compile ProducerConsumerLoops.java
38 * @run main/timeout=3600 ProducerConsumerLoops
39 * @summary multiple producers and consumers using blocking queues
40 */
41
42 import java.util.concurrent.*;
43
44 public class ProducerConsumerLoops {
45 static final int CAPACITY = 100;
46
47 static final ExecutorService pool = Executors.newCachedThreadPool();
48 static boolean print = false;
49 static int producerSum;
50 static int consumerSum;
51 static synchronized void addProducerSum(int x) {
52 producerSum += x;
53 }
54
55 static synchronized void addConsumerSum(int x) {
56 consumerSum += x;
57 }
|