打印

七哲学家就餐实验程序演示

[复制链接]
6260|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刘前辈|  楼主 | 2011-10-19 19:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 刘前辈 于 2011-10-19 19:31 编辑

所长正式找俺PK哲学家就餐,其实自己并没弄明白呢;这类问题咱早就研究过了。

等了所长大呼小叫咋呼了半个月,结果自己缩回去了。——原来自己没做出来啊。还以为自己写不出来的,别人也写不出来:“刘前辈在论坛上没写过一个程序……,他根本不会写程序……俺只写了20分钟……”

          吹什么呀,也点几个灯模拟一下让咱们开开眼,看看你写的5个哲学家喂猪程序的实验效果。——找人PK,自己总得有点东西吧。无论先后,拿出来给众人看看呀。

         这回你再找什么亲戚、粉丝当评委恐怕都不灵了。你连一句程序都没有!

    万万没想到老刘还有这一手,不公开C源程序,照样是赢家,恼羞啊……连这点都想不到……


哲学家就餐7.rar (16.47 KB)

相关帖子

沙发
刘前辈|  楼主 | 2011-10-19 19:26 | 只看该作者
占位

使用特权

评论回复
板凳
highgear| | 2011-10-19 21:53 | 只看该作者
本帖最后由 highgear 于 2011-10-19 22:07 编辑
不公开C源程序,照样是赢家
哈哈哈哈哈,笑死我了,这是什么样的精神?这是无产阶级大无畏的阿Q精神!!!!

老刘啊,亏你还有脸说 LED, LED灯的PK 你到现在还没有做出了,说你是东厂提督,真还没有说错。你想看LED灯, 到这里:
https://bbs.21ic.com/viewthread.php?tid=52070&highlight=
https://bbs.21ic.com/viewthread.php?tid=43825&highlight=

我找你PK 的是多任务调度器, 哲学家就餐的解法这种小儿科的东西根本不值一提。这种转移视线的把戏,极其脑残。

我给出两个在
https://bbs.21ic.com/viewthread.php?tid=224063&highlight=%E5%93%B2%E5%AD%A6%E5%AE%B6 中的解法完整的源程序和项目工程,用 Visual Studio 2005 可以打开运行:
Philosopher.zip (5.14 KB)



说明:两个程序略有改动, 改动为可任意个哲学家和叉子。第一个是用123jj 所说的轻微优先级, 第二个是引入一个仲裁者来管理资源,这是一种常用的做法。我做这两个程序花了不到 20 分钟,当时并没有参考任何别人的解法,仅凭自己的经验作出,这并不是说明我水平高,而是说明在计算机技术飞速发展的今天,当年的这些问题都已经变成很小的问题了,而当年高山仰止的大型计算机,性能还不如我的手机。

Philosophers.zip

4.94 KB

使用特权

评论回复
地板
Cortex-M0| | 2011-10-19 22:01 | 只看该作者
占位,  支持PK,  俺小菜有戏看了~~~ :P

使用特权

评论回复
5
DownCloud| | 2011-10-19 22:13 | 只看该作者
顶楼上。

使用特权

评论回复
6
highgear| | 2011-10-19 22:14 | 只看该作者
“你连一句程序都没有”

老刘啊,这种能被轻易证伪的谎言,我实在不理解你如何说得出来,你真的认为论坛上众人都是瞎子和傻子?

使用特权

评论回复
7
hotpower| | 2011-10-20 03:13 | 只看该作者
下面是HotISP V2.65B
腾讯微群(入群密码:250):
http://t.qq.com/download.php?fkey=/7b99e7fa-46b7-4842-8998-ffad25ff7076&qid=78184763&ftype=2

新浪微群(入群密码:250):
http://q.weibo.com/316539/file/13960456

需要PK的拿BIN或HEX转成汇编的A51文件~~~

disasm51是俺20年前的构思,俺认为还不落伍。
若俺被PK了,俺会改进算法继续PPKK~~~

HotISP内嵌的超级反汇编disasm51.exe(V5.08)是一个控制台程序。
它可以独立运行,也可以被任何采用控制台回显技术的软件调用。

例如:
disasm51.exe a51demo
disasm51.exe a51demo.bin
disasm51.exe a51demo.bin a51demo
disasm51.exe a51demo.bin a51demo.a51
disasm51.exe a51demo.bin a51demo.asm

使用特权

评论回复
8
highgear| | 2011-10-20 08:59 | 只看该作者
顶 hotpower 的超级反汇编。

不过,UI 的设计有些凌乱,把所有功能放在一个窗口中其实并不是个好主意,会让用户分散注意力,而且会挤占主要功能的版面,例如,串口网络之类设置一次就够了,音乐欣赏更是儿戏。

使用特权

评论回复
9
刘前辈|  楼主 | 2011-10-20 09:08 | 只看该作者
Downcloud 的Proteus 改进图做的太棒了!真漂亮,我想画的就是这个意思。

这两天整理一下把你的图贴上来,肯定为7哲学家模拟实验增辉不少。多谢啦。


     Hot大叔的反汇编 能把哲学家就餐程序TEST2s7.hex 反汇编51代码?这是对您的disasm 一个极好的测试;您试试?汇编出来看得出我写的多任务调度器?那我修炼的易筋经可真是白练了。

    若您能**,俺发誓,从此折剑不练,拜您为师啦……。


、、

使用特权

评论回复
10
highgear| | 2011-10-20 09:22 | 只看该作者
闲着也是闲着,不如陪老刘玩玩。哲学家就餐本是一个小问题,与LED更没有关系,不过老刘既然提出来用LED,那我就随便的搞一个。代码都是现成的,10分钟就出来了.  LED 控件的代码量比哲学家还多,看来哲学家确实不是一个有前途的职业。

外圈的大 LED 代表哲学家, 小LED 代表fork. 这里使用了以前做的一个 LED 控件, 可以设定颜色,大小等.

我略微解说一下:

    public partial class LEDControl : Control
    {
        MemoryGraph m_On;
        MemoryGraph m_Off;

LED从 control 中继承,内部包含两个memory bitmap, 这两个 bitmap 在初始或改变size时创建, 以后直接 paint 到显存, 这样效率高且无屏闪。重载 OnPaint 函数:
        protected override void OnPaint(PaintEventArgs e)
        {
            try {
                if (m_Value)
                    m_On.PaintToScreen(e.Graphics);
                else
                    m_Off.PaintToScreen(e.Graphics);
            }
            catch { }
            //   base.OnPaint(e);
        }

跳过擦出背景:
        protected override void OnPaintBackground(PaintEventArgs pevent)
        {
        }

其余的都在附件中。这是一个完整的工程项目, 用 visual studio 2005 以上打开:
WindowsPhilosopher.zip (17.87 KB)

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
Cortex-M0 + 1
11
刘前辈|  楼主 | 2011-10-20 09:25 | 只看该作者
DownCloud 信发出了。请查收。

使用特权

评论回复
12
Cortex-M0| | 2011-10-20 09:42 | 只看该作者
闲着也是闲着,不如陪老刘玩玩。哲学家就餐本是一个小问题,与LED更没有关系,不过老刘既然提出来用LED,那我就随便的搞一个。代码都是现成的,10分钟就出来了.  LED 控件的代码量比哲学家还多,看来哲学家确实不是 ...
highgear 发表于 2011-10-20 09:22


支持PK,支持开源,highgear 老师程序写的很漂亮,拜读了,又学了一点皮毛~~~ :victory:

使用特权

评论回复
13
刘前辈|  楼主 | 2011-10-20 10:46 | 只看该作者
本帖最后由 刘前辈 于 2011-10-20 10:59 编辑

[quote]10楼 highger
PK 使人进步:highgear 向网友刘前辈提出很简单的切磋请求

独立完成一个最基本的多任务操作系统,并在此 os 上解决哲学家就餐问题,……


[[/quote]


highgear 所长的海默症发作了?刚要求与刘前辈 PK 独立完成一个最基本的多任务操作系统,自己写不出来了,又玩起了 VS.NET ?!

老刘很少骂人;不过今天送所长一句:

       你犯的什么痴呆症……

        劝你以后玩什么新花样,先认输这次PK ,再说以后的事,否则,有完没完,你个老海默。

        VS写的再漂亮,也是“千年老二”啦。让了你一个月,都没写出来。 这次又跟在我后面研究我的脚步了?…………今天的X光技术比伦琴的发现漂亮、高级千百倍,——第二个发现X光的人是谁?千年老二有什么用啊……


再让你一回,把你的按扭-LED PK 题目结果用图形表达出来,别再一次让俺老刘占先啦……
   
      这边输惨了又拿那边的题目PK ?54岁的人还真不知羞耻耶……

      这边刚说哲学家就餐是小儿科的题目,小儿科的题目所长用VS 来解?!厉害呀……

      我怎么记得VS.NET 是微软的版权,如今怎么成了中国21IC上所长“独立完成的多任务操作系统”?  ——微软抄袭了所长的小儿科成果?

     “以事实为依据,社会主义法律为准绳。”告微软侵犯中国所长的知识产权权呀……。



、、

使用特权

评论回复
14
刘前辈|  楼主 | 2011-10-20 11:09 | 只看该作者
本帖最后由 刘前辈 于 2011-10-20 11:15 编辑

我用VS 2008 根本打不开所长的程序!

不怕露怯的话,最好把你的源代码贴上来,别连环境一块绑。——谁知道你绑的是什么草?

           别跟上次似地,来个 for ( i=0; i<5; i++ ) {……} ,就称自己是多线程?! 然后123jj 在旁边拍手“写的太漂亮了,多线程,多线程……” 于是两个中年人 sha hehe di  笑 ……



、、

使用特权

评论回复
15
刘前辈|  楼主 | 2011-10-20 11:58 | 只看该作者
10楼 所长无意间又闹了一个天大的笑话: Dijkstra 的哲学家就餐经典问题首先条件就是哲学家人数为奇数,——3,5,7,9,……2N+1;

如若人数为偶数,死锁条件还存在么?自己连题意还没搞懂,程序解法已经出来啦?果然是漂亮的VS环境下的喂猪程序,123jj 又要向你学习怎样喂漂亮的
╭︿︿︿╮
{/ o  o /}  
( (oo) )   
  ︶ ︶︶

创新啊,还真没见过那本书上的哲学家就餐程序是奇数哲学家的,倒是5哲学家解法中,建议只允许4个哲学家吃饭,剩下那个把自己的fork资源出让给别人——基督教徒精神,于是死锁问题解决啦……;哈……两个人吃不饱,杀死一个不解了?

     那还要Dijkstra 干什么?  如此创新,笑……


、、

使用特权

评论回复
16
highgear| | 2011-10-20 21:28 | 只看该作者
刘公公又来展示刘公公的脑残和拙劣的谎言。

1) 关于这个多任务操作系统, 刘公公你有没有胆量PK ? 刘公公没有胆量PK, 居然有胆量反咬, 东厂提督刘公公威武!   顺便告诉你刘公公, 我的代码都已经准备好了。


再问你一次:
刘公公你有没有胆量PK?


2) 刘公公的能力... 刘公公不会用 visual studio, 会不会用 notepad 之类的文本编辑器? "最好把你的源代码贴上来",  看来刘公公连源代码的文件都没能打开, 无能到了极点。

3) “Dijkstra 的哲学家就餐经典问题首先条件就是哲学家人数为奇数”, 我kao, 竟然还有这样认为人数为偶数,死锁就不存在的蠢人!!! 真不知道刘公公你的哲学家就餐的研究生论文是如何通过的?

Dijkstra的论文在此: http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
刘前辈 + 1 早就做完啦。给你看的懂吗?
17
highgear| | 2011-10-20 21:45 | 只看该作者
我把Dijkstra的论文粗略的看了一遍, Dijkstra 根本没有提过奇数,偶数。

使用特权

评论回复
18
dong_abc| | 2011-10-20 22:41 | 只看该作者
两位好汉,令小生佩服。

使用特权

评论回复
19
highgear| | 2011-10-20 23:13 | 只看该作者
21IC上少了刘前辈,会少了多少乐趣啊。

英雄无敌一代不如一代,都不如刘前辈有趣了。

使用特权

评论回复
20
Cortex-M0| | 2011-10-21 04:55 | 只看该作者
Dijkstra的论文在此: http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF

Dijkstra的论文写的真不错,其思路在现在也不过时,难以超越~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:做自己所热爱的,并热爱自己所做的。

24

主题

1038

帖子

4

粉丝