Java丨生产者与消费者实现原理

本文回顾了多线程的关键点,包括进程与线程的状态、实现方式以及它们的区别。接着深入分析了生产者与消费者模型,以饭店的厨师和服务员为例,阐述了线程间的协作与互斥。在Java中,通过对象锁实现线程同步,避免了线程安全问题。同时,文章提出了几个关于生产者消费者模型及其相关方法的问题供读者思考。
摘要由CSDN通过智能技术生成

一、多线程的关键点回顾

1、什么是进程
程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的- -次
执行过程,它是一个动态的概念。
进程是一个具有一定独立功能的程序,一个实体,每一个进程都有它自己的地址空间。
2、进程的状态:
进程执行时的间断性,决定了进程可能具有多种状态。事实上,运行中的进程具有以下三种基本状态。
1)就绪状态(Ready)
2)运行状态( Running)
3)阻塞状态( Blocked)

 

线程实现的两种方式
在Java中如果要想实现多线程的操作,有两种实现方法:

//(1) - -种是继承Thread类
class MyThread extends Thread{
public void run(){
//逻辑处理
}
}
MyThread mt = new MyThread();
mt.start();
//(2)另外一种是实现Runnable接口
class MyRunnable implements Runnable{
public void run(){
//逻辑处理
}
}
MyRunnable mr = new MyRunnable();
Thread t = new Thread(mr);
t.start();

其中第二种方法是最常用的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值