易截截图软件、单文件、免安装、纯绿色、仅160KB

用JAVA实现多线程(生产者与消费者问题)


public class MultiThread {
 public static void main(String[] args) {
  ProductStack box = new ProductStack("box");
  Producer p1 = new Producer(box, "p1");
  Producer p2 = new Producer(box, "p2");
  Producer p3 = new Producer(box, "p3");
  Consumer c1 = new Consumer(box, "c1");
  Consumer c2 = new Consumer(box, "c2");
  //Consumer c3=new Consumer(box,"c3");
  //Consumer c4=new Consumer(box,"c4");
   //Consumer c5=new Consumer(box,"c5");
  p1.start();
  p2.start();
  p3.start();
  c1.start();
  c2.start();
    //c3.start();
     //c4.start();
    // c5.start();
 }
}
class Product {
 int id;
 public Product(int id) {
  this.id = id;
 }
 public String toSring() {
  return "Product" + id;
 }
}
class ProductStack {
 String name;
 static int point = 0;
 private Product[] p = new Product[10];
 public ProductStack(String name) {
  this.name = name;
 }
 public String getname() {
  return name;
 }
 public synchronized int getpoint() {
  return point;
 }
 public synchronized void push(Product a) {
  while (point >= p.length) {
   try {
    this.wait();
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   this.notifyAll();
  }
  p[point] = a;
  // System.out.println(point);
  // System.out.println(p[point].toSring());
  point++;
  // yield();
 }
 private void yield() {
 }
 public synchronized Product pop() {
  while (point == 0) {
   try {
    


相关文档:

Java学习源代码

package com.huawei.globe;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class CrossConectionContextSheet
{
 CrossCalition cc = new CrossCalition();
&nbs ......

将Java对象保存为XML文档

package com.kiloway.trace.utils;
import java.lang.reflect.Field;
/**
* @author Zhang Qi
* @Create Time 2010/01/09
* */
public class ObjectToXML {
public String toString(Object object) throws Exception {
StringBuilder sb = new StringBuilder();
//得到类的名称
String classname = obj ......

JAVA基础知识精华总结

1、 对象的初始化
(1) 非静态对象的初始化
在创建对象时,对象所在类的所有数据成员会首先进行初始化。
基本类型:int型,初始化为0。
如果为对象:这些对象会按顺序初始化。
※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。
构造方法的作用就是初始化。
(2) 静态对象的初始化
程序中主类的 ......

通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法

通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法
小型项目中常常都没有用三方持久化框架,而大都是用公司或自行依据DAO模式封装的一些组件来完成数据库持久化动作,并且,通常为了更具可扩展性,常常使用抽象工厂模式来解耦合。
一、先看代码
1、简单工厂代码
/************************************************* ......

Java和C++程序员待遇问题

      最近班里的同学都忙着报班,有个达内是java培训,有个深蓝是C++培训,网上看了些帖子说什么的都有,自我感觉培养一个C++程序员的周期要比培养一个jAVA程序员的周期长很多,当然,C++要是学的好的话肯定比学java的牛,但是付出的代价个人认为是有很大差距的。对于现在市场上对于语言的需求也 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号