生产者与消费者:Scala的Actor实现 如题想要自己写个Demo模拟经典生产者消费者的线程并发问题假设生产端速度较快,产品到一定数量时,停止生产消费端速度较慢,在产品数量为0时,停止消费郁闷的是, scala 的 actor 中 receive 貌似只是机械地等待,而不是像 java 中的阻塞所以 生产者 和 消费者 两个线程如何通信,如何判断边界的问题,很纠结我就暂时不贴自己的代码,希望有大牛来指点迷津,如何思考这个问题,建立清晰的线程模型,逻辑怎么走随便说说,有分必给 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用 Scala 来写,还是 Java 来写? 呵呵,可惜我不会 Scala 呢 :) 额- -!Scala 还不错呵 我也会scala不过原型设计和具体语言关系不是非常的大如果有必要,可以离开语言来谈这个问题 那我直接点,求scala实现代码 我初学者,不知道scala,但我最近写过类似的程序,我用多线程。线程1:(生产者,较快)public void run(){while(true){if(ready){生产;}else sleep(若干毫秒,这个值参考消费者时间,比其小得多,要自己调试);}}线程2:(消费者,较慢)public void run(){Thread thread1 = new Thread1();//生产者线程thread1.start();//启动生产者线程 while(true){boolean ready = false;从生产者取产品;消费boolean ready = true;sleep(若干毫秒,这个值参考生产者时间,比其略大,要自己调试);}}调用的后,只要启动线程2(消费者)即可。 你可以看看这篇面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性 java 和 scala 的实现是不一样的不过还是谢谢了~~~ 我是java新手,在看thinking in java, 有问题请教 服务器端socket如何响应用户请求 求SWT页面跳转的实例代码 JAVABEAN是什么? 可以在哪一些场合下用呢? 在Java中,如果想显示图片,该用那个类?? 双击jar包,命令行窗口一闪而过,如何能保持住? 在JTable中如何监听鼠标双击选中一行事件,在线等~~~ java Socket和apache TelnetClient java继承中的构造方法的问题 编译完成的.class怎么才能运行呀? 怎样在JTable中删除所有的行 求助我是一个初学者求高手帮我看一下我这哪儿错啦
额- -!
Scala 还不错呵
那我直接点,求scala实现代码
线程1:(生产者,较快)
public void run(){
while(true){
if(ready){生产;}
else sleep(若干毫秒,这个值参考消费者时间,比其小得多,要自己调试);
}
}
线程2:(消费者,较慢)
public void run(){
Thread thread1 = new Thread1();//生产者线程
thread1.start();//启动生产者线程
while(true){
boolean ready = false;
从生产者取产品;
消费
boolean ready = true;
sleep(若干毫秒,这个值参考生产者时间,比其略大,要自己调试);
}
}
调用的后,只要启动线程2(消费者)即可。
面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
java 和 scala 的实现是不一样的不过还是谢谢了~~~