/** *定义馒头类 */ class ManTou{ private int id; public ManTou(int id){ this.id = id; } public int getId(){ return this.id; } } /** *定义缓冲区类 */ class SyncStack{ //定义存放馒头的盒子 private ManTou[] mt = new ManTou[10]; //定义操作盒子的索引 private int index; /** *放馒头 */ public synchronized void push(ManTou manTou){ //判断盒子是否已满 while(this.index == this.mt.length){ try { /** *语法:wait(),该方法必须要在synchronized块中调用。 * wait执行后,线程会将持有的对象锁释放,并进入阻塞状态, *其他需要该对象锁的线程就可以继续运行了。 */ this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } //唤醒取馒头的线程 /** *语法:该方法必须要在synchronized块中调用。 *该方法会唤醒处于等待状态队列中的一个线程。 */ this.notify(); this.mt[this.index] = manTou; this.index++; } /** *取馒头 */ public synchronized ManTou pop(){ while(this.index == 0){ try { /** *语法:wait(),该方法必须要在synchronized块中调用。 * wait执行后,线程会将持有的对象锁释放,并进入阻塞状态, *其他需要该对象锁的线程就可以继续运行了。 */ this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.notify(); this.index--; return this.mt[this.index]; } } /** *定义生产者线程类 */ class ShengChan extends Thread{ private SyncStack ss; public ShengChan(SyncStack ss){ this.ss = ss; } @Override public void run() { for(int i=0;i<10;i++){ System.out.println("生产馒头:"+i); ManTou manTou = new ManTou(i); this.ss.push(manTou); } } } /** *定义消费者线程类 */ class XiaoFei extends Thread{ private SyncStack ss; public XiaoFei(SyncStack ss){ this.ss = ss; } @Override public void run() { for(int i=0;i<10;i++){ ManTou manTou = this.ss.pop(); System.out.println("消费馒头:"+i); } } } public class ProduceThread { public static void main(String[] args) { SyncStack ss = new SyncStack(); new ShengChan(ss).start(); new XiaoFei(ss).start(); } }
复制的和自己敲的都这样,为什么?
老师
a='abcdefghijklmn'
a[3:8]='defg'
a[-8:-3]='ghijk'
而a[-3:-8]为空字符''
反向搜索,最右侧为第一个,-1
正常起始点应该是-3在-8前面吧
为什么是-8到-3
function checkAgree(){
//同意框
var check=document.getElementById("check").checked;
//提交
var sub=document.getElementById("sub").disabled;
sub=!check;
}
l老师,getelementbyid()之后可不可以再点取checked,我自己试了试不行。
老师,为什么这些对象都需要手动关闭呢,为什么不会自动关闭呢
老师这边为什么直接return“index”就好了呀?为什么不用加扩展铭呀?
老师,请问这里的唤醒线程的"abc"是必须与上面synchronized("abc")一样吗
ego_shop.zip
这个好像是后台的错误
老师,我这里能用geiNode方法获取前一个节点吗?
实例对象是否具有类的类属性?
实例对象是否具有类的类方法?
实例对象是否具有类的类静态方法?
long d1 = System.currentTimeMillis();
long d2 = System.currentTimeMillis();
视频说昨天讲过了,请这部分的视频是没有录制么?没有看到呀
老师,这边返回的json字符串,为什么可以直接在页面中显示?不是没有编写相应的js函数($.ajax)来处理嘛?
不知道咋回事,每次登录都是未知异常
shiro-04-ssm.7z
老师这个LoginUrl 他是指,进入登录的页面地址,还是登录请求的地址
老师这个showimg怎么跳转到图片呀??
老师,请问什么时候用name,id,class,给标签命名
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637