老师,请问这里面的r是什么意思。在后面的a的位置是r的话是只读模式,但是放在最前面是什么作用
/** * 创建缓冲区 * 要点: * 1、创建缓冲区空间大小(目前是数组空间) → 生产者生产数据 → 判断空间是否满了?满了就进入阻滞状态调用Object下面wait方法 * 满了消费者没来拿数据,就需要唤醒消费者 (调用Object下面notify方法唤醒单个线程) * 2、消费者来拿 →判断有没有数据 → 如果没了就进入阻滞状态 → 同时唤醒生产者线程 */ //定义馒头类 class ManTou{ private int id; public ManTou(int id){ this.id=id; } public int getId() { //私有属性需要 return this.id; } } //定义缓冲区 class SycStack{ //缓冲区不需要继承谁,它只是一个放数据地方 //定义放馒头的空间 private ManTou[] mt =new ManTou[10]; //定义操作空间的索引; private int index; //放馒头 public synchronized void push(ManTou manTou) throws InterruptedException { while(this.index==this.mt.length){ //放数据之前要先判断空间满没满,用循环多判断几次,一次不保险 this.wait(); //Object 类下的 让线程休眠的方法; 必须在synchronized域内使用。 会先释放对象锁,再休眠。 } this.notify(); //Object 类下 唤醒单个线程的方法,必须在synchronized域内使用。会唤醒在等待队列状态中的 单个线程。/notifyAll是全部线程 this.mt[this.index]=manTou; //放馒头时需要知道位置,默认是0; this.index++; //每放一个,索引+1,直到空间满了 } //取馒头 public synchronized ManTou pop() throws InterruptedException { while (this.index==0){ this.wait(); } this.notify(); //对方线程若是处于运行状态 唤醒也无妨 this.index--; return this.mt[this.index]; //先判断,不为空则 拿一个,拿完之后把剩下的返回; } } //定义生产者线程 class ShengChan extends Thread{ private SycStack ss; //生产的数据要放在缓冲区, public ShengChan(SycStack ss){ this.ss=ss; } @Override public void run() { for(int i=0;i<10;i++){ System.out.println("生产的馒头"+i); ManTou mt=new ManTou(i); //不知道这里为什么这么做,要创建馒头对象 try { this.ss.push(mt); //调用放馒头的方法 } catch (InterruptedException e) { e.printStackTrace(); } } } } //定义消费者线程 class XiaoFei extends Thread{ private SycStack ss; //消费的数据也放在缓冲区, public XiaoFei(SycStack ss) { this.ss = ss; } @Override public void run() { for(int i=0;i<10;i++){ try { ManTou manTou = this.ss.pop(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("消费的馒头"+i); } } } public class TestProduceTread { public static void main(String[] args) { //s实例化缓冲区 SycStack ss=new SycStack(); //实例放、取馒头化线程 new ShengChan(ss).start(); new XiaoFei(ss).start(); } }
老师为什么我的代码结果是顺序排的?试了几次都这样
老师,登录后,删除临时购物车的商品的功能,是可以不要的
因为上节内容,登录后,这个临时购物车,就没有了商品的
老师,
这节编的时候出现以下问题。请协助解决,谢谢。
‘name' in a是检测 键 有没有在字典里面。
有没有方法检测 值 在字典里面?
红色画出来的这是什么意思 调用图片的固定代码吗
这个是为什么啊,为什么我安装c++出错,,,,,,
告诉下2.4.2需要用什么版本,我们根本查不到,你给的链接都是没有用的,要是自己官网能查我们都不会去问
怎么变过去的呢
erp项目的启动了启动不起来,提示信息如下,这样应该怎么解决?
本地样式错误,老师这个问题是什么原因造成的,需要怎么配置
在逆向工程中好奇这个_parameter是在哪定义的,作用是什么
我也没有自增,
老师,我打开project interpreter 之后是空的,这应该怎么办呢
一、请问 value="当前值" 这个当前值指的是什么尼?谢谢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637