A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴凯 中级黑马   /  2013-4-29 21:59  /  841 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们在使用Java多线程程序的时候会遇到不少的问题,当我们解决这个问题的时候在源代码中就是最好的答案发源地。下面我们就来看看Java多线程程序的源代码。

  对于Java多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:

  1、生产者仅仅在仓储未满时候生产,仓满则停止生产。

  2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。

  3、当消费者发现仓储没产品可消费时候会通知生产者生产。

  4、生产者在生产出可消费产品时候,应该通知等待的消费者去消费。

  此模型将要结合java.lang.Object的wait与notify、notifyAll方法来实现以上的需求。这是非常重要的。

  Java多线程程序代码

  1.public class Test {

  2.public static void main(String[] args) {

  3.Godown godown = new Godown(30);

  4.Consumer c1 = new Consumer(50, godown);

  5.Consumer c2 = new Consumer(20, godown);

  6.Consumer c3 = new Consumer(30, godown);

  7.Producer p1 = new Producer(10, godown);

  8.Producer p2 = new Producer(10, godown);

  9.Producer p3 = new Producer(10, godown);

  10.Producer p4 = new Producer(10, godown);

  11.Producer p5 = new Producer(10, godown);

  12.Producer p6 = new Producer(10, godown);

  13.Producer p7 = new Producer(80, godown);

  14.c1.start();

  15.c2.start();

  16.c3.start();

  17.p1.start();

  18.p2.start();

  19.p3.start();

  20.p4.start();

  21.p5.start();

  22.p6.start();

  23.p7.start();

  24.}

  25.}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马