- 浏览: 370138 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (209)
- db2 (4)
- oracle (1)
- sqlserver (16)
- java (54)
- jdbc (3)
- html、js (21)
- MQ、MB (6)
- uml (3)
- 格言 (7)
- 笑话 (3)
- 管理 (5)
- note (10)
- hibernate (1)
- 设计模式 (4)
- win8 (5)
- postgre (2)
- cxf (3)
- MyBatis (4)
- tomcat (9)
- servlet (2)
- ant (2)
- spring (5)
- windows (3)
- linux (7)
- struts2 (2)
- android (2)
- eclipse (1)
- drools (1)
- jmx (2)
- c++ (3)
- html、js、JSP (1)
- mysql (1)
- redis (1)
- 架构 (1)
最新评论
-
onlyor:
灰太狼1991 写道很受用,请教一下博主,mybatis模糊查 ...
MyBatis模糊查询 -
灰太狼1991:
很受用,请教一下博主,mybatis模糊查询是不是和版本也有关 ...
MyBatis模糊查询 -
zzgvictory:
你写的么,很美啊
js 画 玫瑰花 -
onlyor:
里面的算法值得研究啊
js 画 玫瑰花 -
bjqincy:
用 org.joda System.out.println(& ...
Java 获取 一个月有多少周
public class ProducerConsumer { public static void main(String[] args) { ProductBox pb = new ProductBox(); Producer p = new Producer(pb); Consumer c = new Consumer(pb); Thread pThread = new Thread(p); Thread cThread = new Thread(c); pThread.setPriority(Thread.MAX_PRIORITY); cThread.setPriority(Thread.MIN_PRIORITY); pThread.setName("Producer"); cThread.setName("Consumer"); pThread.start(); cThread.start(); } } class Product { int id; public Product(int id) { super(); this.id = id; } public String toString() { return "Product:" + id; } } class ProductBox { Product[] productbox = new Product[6]; int index = 0; public ProductBox() { super(); } public synchronized void push(Product p) { while (index == productbox.length) { try { System.out.println(Thread.currentThread().getName() + ".push()"); this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.notify(); productbox[index] = p; index++; } public synchronized Product pop() { while (index == 0) { try { System.out.println(Thread.currentThread().getName() + ".pop()"); this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.notify(); index--; return productbox[index]; } } class Producer implements Runnable { ProductBox productbox = null; public Producer(ProductBox productbox) { super(); this.productbox = productbox; } public void run() { for (int i = 0; i < 10; i++) { Product p = new Product(i); productbox.push(p); System.out.println("++produce:" + p); try { Thread.sleep((int) (Math.random() * 200)); } catch (InterruptedException e) { e.printStackTrace(); } } } } class Consumer implements Runnable { ProductBox productbox = null; public Consumer(ProductBox productbox) { super(); this.productbox = productbox; } public void run() { for (int i = 0; i < 10; i++) { Product p = productbox.pop(); System.out.println("--consume:" + p); try { Thread.sleep((int) (Math.random() * 1000)); } catch (InterruptedException e) { e.printStackTrace(); } } } }
发表评论
-
多线程之Java线程阻塞与唤醒
2017-08-15 01:38 491线程的阻塞和唤醒在多线程并发过程中是一个关键点,当线程数量达 ... -
diffcount 代码差异统计工具
2016-08-12 18:11 1479使用diffcount,可以直接统计前后两个工程中,增加、 ... -
solr5 配置 与 创建core
2015-12-31 09:49 33721. 准备安装包(保证tomat能正常启动) so ... -
HTTP访问的两种方式(HttpClient和HttpURLConnection)
2015-12-30 11:58 2814直接上代码 使用HttpClient Name ... -
maven 使用slf4j与logback结合
2015-10-31 21:10 1338<dependency> & ... -
WAS性能优化分析工具
2015-10-23 14:40 704WAS性能优化分析工具被分析的文件heapdump165490 ... -
异常分类使用
2015-05-04 16:23 545异常分类使用 1.RuntimeException, ... -
一个java枚举的实例
2015-05-04 16:20 663一个java枚举的实例,直接上代码。 /** * ... -
java枚举实例
2015-05-04 16:18 457直接上代码 /** * * 〈枚举测试〉& ... -
POI excel 单元个的内容 自适应行高
2014-12-05 11:03 16761POI excel 单元个的内容 自适应行高 pub ... -
POI的一些操作 获取、删除区域Region 删除多行
2014-12-04 17:02 34811 通过行列获取区域 /** * 获取区域 ... -
Java 排序(转)
2014-11-27 13:51 677排序 public class Sort { ... -
log4j.properties
2014-11-27 13:26 841log4j.rootLogger=DEBUG,CONSOLE, ... -
corba,ejb ,webservice,rest分布式 区别
2014-09-30 11:04 934Corba,还是EJB,都有一些共同点:1) 通过专有的网络协 ... -
JAVA注解总结
2014-09-25 10:21 625最近打算搞清楚以下问题:1. 注解的原理与使用 2. Ja ... -
在同一个类中,线程资源竞争
2014-09-02 08:55 911/** * 在同一个类中,线程资源竞争 ... -
linux下Java字体乱码(解决图像中中文乱码)
2014-08-12 16:27 23675在Java中可以使用如下判断支持的字体 GraphicsE ... -
DBCP 数据源 下载jar包
2014-08-01 13:36 2434一.DBCP 是 Apache 软件基金组织下的开源连接池 ... -
RMI 实例
2014-06-05 09:39 444RMI 实例 package rmi.train; ... -
基于httpclient-4.3 和 4.1的编写小例子
2014-05-29 19:45 1956基于httpclient-4.3 和 4.1的编写小例子 ...
相关推荐
java多线程实现生产者和消费者
编写一个“生产者-消费者”的多线程演示程序,两个生产者,一个消费者,可以存放产品的仓库容量为10,仓库用栈实现,并有同步功能,且能防止先消费后生产的情况。
java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现多线程经典模型生产者消费java实现...
用java多线程,实现生产者消费者同步和互斥的问题,操作系统中的经典问题
java多线程经典模型生产者消费者java多线程经典模型生产者消费者java多线程经典模型生产者消费者java多线程经典模型生产者消费者java多线程经典模型生产者消费者java多线程经典模型生产者消费者java多线程经典模型...
用java多线程简易实现生产者消费者模式的代码,用java多线程简易实现生产者消费者模式的代码。
java多线程实现生产者消费者关系,完成线程之间的同步。
基本满足操作系统课上要求,java实现的生产者消费者模型。
本代码是用JAVA实现的生产者与消费者的问题,线程间的同步与互斥功能
java 多线程 生产者消费者模式,你值得拥有
java 多线程生产者消费者模型demo
生产者消费者模式是java多线程经典的安全,它用到了同步,资源共享,wait,notify等技术。
java 多线程 生产者消费者模式,多个生产者对多个消费者,使用jdk 线程池及 BlockingQueue实现,解决了待生产的任务生产完成后,正常终止所有线程,避免线程(特别是消费者线程)因阻塞而无限等待的情况。源码中还简单...
关于java多线程的东西,里面有生产者与消费者的案例,感兴趣的朋友看一下吧。
java多线程学习,生产者消费者问题示例
NULL 博文链接:https://hbkh2000.iteye.com/blog/378843
由生产者/消费者问题看JAVA多线程,让我们更加的了解多线程问题
这是个多线程程序,一个主线程,一个生产者线程,一个消费者线程,一个控制线程.其中消费数额是动态的,生产数量也是动态的.
主要介绍了JAVA多线程实现生产者消费者的实例详解的相关资料,需要的朋友可以参考下