Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse错误:无法找到或加载主类consumerProducer。消费者生产者_Java - Fatal编程技术网

Java Eclipse错误:无法找到或加载主类consumerProducer。消费者生产者

Java Eclipse错误:无法找到或加载主类consumerProducer。消费者生产者,java,Java,在我学习的过程中,我试着做一个书中的例子,我不断地得到这个错误。这是《Java入门》第1120页的消费者制作人Daniel Liang。每次编译时,标题中都会出现错误 包装消费者生产者; 导入java.util.concurrent.*; 导入java.util.concurrent.locks.*; 公共类消费者生产者{ 私有静态缓冲区=新缓冲区; 公共静态无效字符串[]args{ //使用两个对象创建线程池 ExecutorService executor=Executors.newFixe

在我学习的过程中,我试着做一个书中的例子,我不断地得到这个错误。这是《Java入门》第1120页的消费者制作人Daniel Liang。每次编译时,标题中都会出现错误

包装消费者生产者; 导入java.util.concurrent.*; 导入java.util.concurrent.locks.*; 公共类消费者生产者{ 私有静态缓冲区=新缓冲区; 公共静态无效字符串[]args{ //使用两个对象创建线程池 ExecutorService executor=Executors.newFixedThreadPool2; executor.executenew ProducerTask; executor.executenew ConsumerTask; 执行器关闭; }//端干管 私有静态类ProducerTask实现可运行{ 公开募捐{ 试一试{ int i=1; whiletrue{ System.out.printlnProducer写入+i; writei++; //将线程置于睡眠模式 Thread.sleepintMath.random*10000; }//结束时 }//结束尝试 catchInterruptedException ex{ 例如,打印跟踪; }//端接 }//终点 }//终端生产任务 //从缓冲区读取和删除int的任务 私有静态类ConsumerTask实现可运行{ 公开募捐{ 试一试{ whiletrue{ System.out.println\t\t\t使用者读取+缓冲区.read; //睡一觉 Thread.sleepintMath.random*10000; }//结束时 }//结束尝试 catchInterruptedException ex{ 例如,打印跟踪; }//端接 }//终点 }//终端消费者任务 //缓冲区的内部类 专用静态类缓冲区{ 私有静态最终整数容量=1;//缓冲区大小 私有java.util.LinkedList队列= 新建java.util.LinkedList; //创建一个新锁 私有静态锁=新的可重入锁; //创造两个条件 私有静态条件notEmpty=lock.newCondition; 私有静态条件notFull=lock.newCondition; 公共无效写入值{ lock.lock;//获取锁 试一试{ whilequeue.size==容量{ System.out.PrintLn等待未满状态; 等待; }//结束时 queue.offer值; notEmpty.signal;//信号notEmpty条件 }//结束尝试 捕获中断异常{ 例如,打印跟踪; }//端接 最后{ lock.unlock;//释放锁 }//最后结束 }//结束写入 公共整数读取{ int值=0; lock.lock;//获取锁 试一试{ whilequeue.我是空的{ System.out.printlnt\t\t用于notEmpty条件; 等待; }//当 值=queue.remove; notFull.signal;//信号未满状态 }//结束尝试 catchInterruptedException ex{ 例如,打印跟踪; }//端接 最后{ lock.unlock;//释放锁 返回值; }//最后结束 }//结束阅读 }//端部缓冲器 }//末级
}//end类应该在代码的正下方}//end Buffer尝试在Eclipse中清理项目,检查java构建路径是否正确设置,查看是否可以创建一个简单的java类并运行它,尝试在命令提示符下运行相同的java类,最后,这个java类在我的Eclipse中运行得很好,我想可能是在项目和包创建期间。我想我可能在给其中一个命名时碰到了空格键。因为我刚在尝试创建新项目和包时收到一条错误消息。但是如果是这样的话,空格字符不是会被复制/粘贴到eclipse中吗?