Java多线程——简单的生产者消费者问题练习

Java多线程生产者消费者

Java的多线程学习中,因为有练习的要求,扔个生产者消费者的代码放上来:
先解释一下,里面有三个类,分别是cook(厨师),waiter(服务生)和food,厨师生产食物,而服务生则端走食物。那么先写一个用锁去同步的多线程,代码其实很简单,就是厨师对食物进行更改,直接修改食物的类型(手撕鸡或者卤猪脚),就算是食物生产完成了。


public class TestThread {
   

    public static void main(String[] args){
   
        food f = new food();
        cook c = new cook(f);
        waiter w = new waiter(f);
        Thread t1 = new Thread(c);
        Thread t2 = new Thread(w);
        t1.start();
        t2.start();
    }

}
class cook implements Runnable{
   
    food f;
    static final int count = 5;
    cook(food f){
   
        this.f = f;
    }
    @Override
    public void run() {
   
        for (int i = 0; i < count; i++) {
   
            f.l.lock();
            if(i % 2 == 0) {
   
                f.setName("手撕鸡");
                f.setTaste("麻辣味");
                f
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值