当前位置: 技术问答>java相关
有没有定位时间的方法?
来源: 互联网 发布时间:2015-06-19
本文导语: 我在编一个理发师的小程序,想把它图形化(比方说画几个排队的小人),这涉及到队列长度的变化。(当有新的顾客到来时或某个顾客理完发时,队长才会发生变化。)将程序刚开始执行的时间定为“0”时刻,我能得到每...
我在编一个理发师的小程序,想把它图形化(比方说画几个排队的小人),这涉及到队列长度的变化。(当有新的顾客到来时或某个顾客理完发时,队长才会发生变化。)将程序刚开始执行的时间定为“0”时刻,我能得到每位顾客的到来时刻和离开时刻(理完发)。
我想问的是:有没有定位时间的方法?(我的意思是:假如我知道时刻“5”有顾客到来,我想在时刻"5"将其在队列中画出,我该怎样确定时间呢?)
请指教,谢谢!(除了Thread.sleep or object.wait 还有没有其它方法)
|
如果是每个顾客一个线程的话,我想用sleep最好
我的想法是这样的:
在理发师的线程里头有一个vector里边存储了多个顾客
在对应的panel的paintComponent方法中,把这几个顾客给画出来
每个顾客到达,然后加入vector,sleep若干秒,设置状态等待中,如果这段时间没有人理他,他就走开
即从vector中删除
并调用panel的rapaint方法更新画面
理发师判断vector是不是为空,如果不为空,就给某个人理发,即中断顾客当前的sleep,并且调用顾客的另一个sleep方法模仿正在理发,把顾客的状态设为理发中。同时自己也sleep相应的秒数,状态为给别人理发中。
并调用panel的repaint方法更新画面。
我的想法是这样的:
在理发师的线程里头有一个vector里边存储了多个顾客
在对应的panel的paintComponent方法中,把这几个顾客给画出来
每个顾客到达,然后加入vector,sleep若干秒,设置状态等待中,如果这段时间没有人理他,他就走开
即从vector中删除
并调用panel的rapaint方法更新画面
理发师判断vector是不是为空,如果不为空,就给某个人理发,即中断顾客当前的sleep,并且调用顾客的另一个sleep方法模仿正在理发,把顾客的状态设为理发中。同时自己也sleep相应的秒数,状态为给别人理发中。
并调用panel的repaint方法更新画面。