shuai's profile娱乐精神PhotosBlog Tools Help

Blog


    11/28/2005

    可爱淘,垃圾

    因为妹妹的推荐
    我对《那小子真帅》产生的兴趣
    但一直没能借来电影版本
    只好借来了文字的版本来看
     
    或许是我年纪已经不适合了
    这本书对我来说真是平淡如水
    作者毫不理会文字修饰和故事结构
    完全的流水帐写法
     
    当阅读到一半时枯燥感已经无法忍受了
    我想我就算在十年前也是不会喜欢它的
    然而它却能令当下的青少年热捧
    真是怀疑年轻人们的智商了
     
    我阅读书籍时经常会产生枯燥感
    当然有一些是书籍本身的晦涩
    这经常发生在哲学和技术书籍上
    常常一句话需要读很多次
    一旦理解了却是令人畅快淋漓

    我便是依赖这样感觉的支持而阅读的
    这也是我喜欢它们的原因之一吧
    还有一些书是本身就令人愉悦的
    武侠小说和推理小说是最好类型
     
    那种阅读感真是令人欲罢不能
     
    11/14/2005

    管程 = 临界区类

    由我看来管程不只是将分散的对信号量操作集中起来

    更重要是的它的这三个特性:

      (1)模块化。管程是一个基本程序单位,可以单独编译;
      (2)抽象数据类型。管程是中不仅有数据,而且有对数据的操作;
      (3)信息掩蔽。管程外可以调用管程内部定义的一些函数,但函数的具体实现外部不可见;

    这不就是“类”么

     

    生产者/消费者问题使用信号量的解法:

        //生产者进程
        producer
        {
         while(true)   
         {   
                produce(&item);
                p(s1);   
                p(mutex);   
                buffer[in]:=item;   
                in:=(in+1) mod k;   
                v(mutex);   
                v(s2);   
            }   
        }   

        //消费者进程
        consumer   
        {   
            while(true)   
            {   
                p(s2);   
                p(mutex);   
                item:=buffer[out];   
                out:=(out+1) mod k;   
                v(mutex);   
                v(s1);   
                consume(&item);
            }   
        }  

     

    生产者/消费者问题使用管程的解法:

        //管程
        //假设已实现一基本管程monitor,提供enter,leave,signal,wait等操作
        buffer
        {
            procedure deposit(item);
            {
                if(count=k) monitor.wait(notfull);
                buf[in]=item;
                in:=(in+1) mod k;
                count++;
                monitor.signal(notempty);
            }
            procedure fetch();
            {
                if(count=0) monitor.wait(notempty);
                item=buf[out];
                in:=(in+1) mod k;
                count--;
                monitor.signal(notfull);
                return(item);
            }
        }

        //生产者进程
        producer
        {
             while (true)
             {
                 produce(&item);
                 buffer.enter();
                 buffer.deposit(item);
                 buffer.leave();
             }
        }

        //消费者进程
        consumer
        {
            while (true)
            {
                buffer.enter();
                item=buffer.fetch();
                buffer.leave();
                consume(&item);
            }
        }

    非常明显,这个管程实际上就是为临界区单独实现了一个类

    管程 = 临界区类,这就是我的理解

     

    11/7/2005

    医院的信息化

    最近n年因为身体太过健康已经很少去医院了
    有幸去了趟医院还真让我意外
    医院的信息化程度已经超出了我的陈旧思想了
    (那些昂贵的医疗设备自不必说了)
     
    先是候诊室大屏幕的变化
    屏幕上显示被叫号的病人
    那叫号的声音可是语音合成的
    还有就是实时显示当前哪科的哪位医师在给哪号病人冶疗
    以及一些专家介绍和医护知识的视频
     
    就诊时每一位医生都有一台计算机
    开药也不必手写了
    直接在程序里选择,然后打印出来
    据说在国外
    医生护士们都已经用上了PDA或是Tablepad了
     
    类似的还有许多
    非公区域用上了门禁系统
    自动扶梯的出现让人感觉是进了商场
    分诊台的护士小姐用着xp让感觉和office lady没什么区别
    等等等等。。。
     
    第一次让我觉得信息化深入了生活
    奇怪是在银行、超市怎么没这种感觉