A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈丽莉   /  2013-2-18 17:55  /  11946 人查看  /  93 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

建议 物联网 课程开设有关于银行的项目,这方面社会需求大
回复 使用道具 举报
杨永胜 发表于 2013-4-15 11:12
建议 物联网 课程开设有关于银行的项目,这方面社会需求大

这是云计算的课程介绍

http://edu.csdn.net/java/javaee.shtml

目前有一个类似的基金交易系统。
黑马的课程都是与时俱进,积极更新的,相信一定会学有所用,收获颇丰~

回复 使用道具 举报
我申请的是四期,不知道有没有希望啊,刚提交了基础测试题
回复 使用道具 举报
此类帖子还是建议你置顶了吧,否则过几天帖子多了大家想找也不好找
回复 使用道具 举报
hou604720966 发表于 2013-4-17 21:40
此类帖子还是建议你置顶了吧,否则过几天帖子多了大家想找也不好找

这个已经置顶了呀~  在板块上方,前面有个绿色小屋子的~

QQ截图20130418035038.png (24.97 KB, 下载次数: 28)

QQ截图20130418035038.png
回复 使用道具 举报
亲爱的版主,为嘛没有加分啊,没有功劳,也有苦劳啊{:soso_e154:} {:soso_e150:}
标题: 关于线程间通信思考的一些问题
这些天刚刚跟着毕老师窥探了一下多线程这个神秘的世界,自己动手编写了入学基础测试题的第十题(妈妈做饭的代码),运行结果正常,可是还有一些困惑,下面贴上我的代码:
package com.itheima;

public class Test10 {
        /**
         *第10题:模拟妈妈做饭,做饭时发现没有盐了,让儿子去买盐(假设买盐需要3分钟),只有盐买回来之后,妈妈才能继续做饭的过程。
         *
         * @author zhuxiaojie
         */
          public static void main(String[] args){
                  Salt salt = new Salt();
                  
                  Mother m = new Mother(salt);
                  Son s = new Son(salt);
                  
                  Thread mother = new Thread(m);
                  Thread son = new Thread(s);
                  
                  mother.start();
                  son.start();

                  //mother.setPriority(5);                  //mother.setPriority(1);
          }
}

//共享资源:盐类
class Salt{
        boolean flag = false;
}

//妈妈类
class Mother implements Runnable{
        private Salt salt;
        
        public Mother(Salt salt){
                this.salt = salt;
        }
        
        public void run() {
                while(true){
                        synchronized(salt){
                                if(!salt.flag){
                                        System.out.println("Mother:儿子,没有盐了,你去买盐吧!");
                                        salt.notify();//唤醒儿子去买盐
                                        try {
                                                salt.wait();//等待儿子把盐买回来
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                }else{
                                        System.out.println("Mother:做饭中...儿子,待会就能吃饭了!");
                                        System.out.println();
                                        try {
                                                Thread.sleep(1*60*1000);//做饭需要时间
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                        salt.flag = false;//改变盐的状态:没盐
                                }
                        }
                }
        }
}

//儿子类
class Son implements Runnable{
        private Salt salt;
        
        public Son(Salt salt){
                this.salt = salt;
        }
        
        public void run() {
                while(true){
                        synchronized(salt){
                                if(!salt.flag){
                                        System.out.println("Son:妈妈,你等会,我现在就去买盐!");
                                        try {
                                                Thread.sleep(3*60*1000);//买盐需要三分钟
                                                salt.flag = true;//改变盐的状态:有盐
                                                System.out.println("Son:妈妈,盐买回来了,什么是否能吃饭啊?");
                                                salt.notify();//唤醒妈妈继续做饭
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                }
                                try {
                                        salt.wait();//等待吃饭
                                } catch (InterruptedException e) {
                                        e.printStackTrace();
                                }
                        }
                }
        }
}


困惑一:怎么才能让儿子吃上饭呢?每次儿子买回盐来之后,就又得去买盐!
困惑二:程序运行结果的第一次 总是儿子先去买盐,可是我想让妈妈先执行,后来我想到了设置线程的优先级,但是不管用,请问该怎么处理?线程的优先级什么时候使用?数字越大代表优先级越高?
困惑三:根据题目的需求,我的代码还能怎么优化呢?请各位多多指教!谢谢!

点评

已加分,前几天走流程来着,多有疏忽。  发表于 2013-4-18 09:37
回复 使用道具 举报
是好帖子  好  我就先来点建议,我在看加分的时候,有的同学回答的是错误的也给技术分的,还有就是有的回答的文不对题也给技术分的,这是不是很版主的关系好就可以这样做的,这是不是有点偏见的?
回复 使用道具 举报
Just_Only 发表于 2013-4-19 10:43
是好帖子  好  我就先来点建议,我在看加分的时候,有的同学回答的是错误的也给技术分的,还有就是有的回答 ...

是只要认真提问或回答,就都有技术分的。  我很公正的好么。。  - -、  如果你觉得自己有漏加分的帖子,可以在这儿提交链接。 毕竟我也有疏忽的时候。
回复 使用道具 举报
陈丽莉 发表于 2013-4-19 15:10
是只要认真提问或回答,就都有技术分的。  我很公正的好么。。  - -、  如果你觉得自己有漏加分的帖子, ...

晕  你都没有看清我说的是啥?我不是说我有遗漏没加分的什么的,我说的是别人的回答不是提问者的答案还有就是有的回答的是提问者错误的说法的,没说版主不公正的啊,可能是版主疏忽时候才出现这结果的吧。
回复 使用道具 举报
陈丽莉 发表于 2013-4-19 15:10
是只要认真提问或回答,就都有技术分的。  我很公正的好么。。  - -、  如果你觉得自己有漏加分的帖子, ...

晕死了  :dizzy:   难道是我表述的有问题还是我说话没说清楚?这  > <  
回复 使用道具 举报
Just_Only 发表于 2013-4-19 15:37
晕死了     难道是我表述的有问题还是我说话没说清楚?这  > <

是你没理解清楚。。   回答认真就加分的意思是,即使答错了也会给分的,因为人家不一定知道是错的。
回复 使用道具 举报
陈丽莉 发表于 2013-4-19 17:20
是你没理解清楚。。   回答认真就加分的意思是,即使答错了也会给分的,因为人家不一定知道是错的。 ...

额  还可以这样的啊  这  我甘拜下风了    我错了   斑竹
回复 使用道具 举报
zZZ~~ 中级黑马 2013-4-22 10:25:12
93#
本帖最后由 zZZ~~ 于 2013-4-22 10:30 编辑

{:soso_e103:}
回复 使用道具 举报
zZZ~~ 中级黑马 2013-4-22 10:29:46
94#
答:关于javabeen
名称:
Java 开发中 vo是什么,和po有什么不同,pojo又是什么?他们都是javabeen吗?
链接地址http://bbs.itheima.com/forum.php ... D122%26typeid%3D122
回复 使用道具 举报
12345
您需要登录后才可以回帖 登录 | 加入黑马