chidaodezhongsheng
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2012年1月 (1)
2010年10月 (1)
文章檔案
2010年12月 (7)
2010年11月 (6)
2010年10月 (24)
搜索
最新評論
1.?re: Http參數傳遞時的亂碼過濾器[未登錄]
是是是是是是
--啊啊
2.?re: Servlet配置到Web.xml中
配置好了 它整體的流程是什么啊?
--Tovep
3.?re: JDBC基本操作
期待...
--Tovep
4.?re: 再寫銀行排隊
LZ 寫的不錯 啊!!!
--Tovep
5.?re: 生產消費問題
臭小子 居然FZZT
--Tovep
閱讀排行榜
1.?無題(198)
2.?很久沒更新了,真的太久了(173)
評論排行榜
1.?很久沒更新了,真的太久了(0)
2.?無題(0)
Powered by:
博客園
模板提供:
滬江博客
BlogJava
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
再寫銀行排隊
這次的銀行排隊我們稍作調整,調整就是銀行工作人員辦理業務的時候,在隊列里依次取出排隊人員,并且保證每個人員只能取出一次,不能被多個窗口取到,這就需要多線程了,每一個窗口就是一個獨立的線程,并且所有窗口去隊列里取排隊人員的時候,涉及到資源共享的問題,要將資源上鎖,也就是使用synchronized關鍵字,可以保證每一個排隊人員只被取到一次。
下面看看代碼和運行結果:
服務器:
public
class
QueueServer
{
public
Queue
<
Waiter
>
waiterlist
=
new
LinkedList
<
Waiter
>
();
public
Queue
<
GoldWaiter
>
goldwaiterlist
=
new
LinkedList
<
GoldWaiter
>
();
public
Queue
<
Waiter
>
init()
{
Waiter w
=
null
;
for
(
int
i
=
1
;i
<
50
;i
++
)
{
w
=
new
Waiter();
w.setNumber(i);
w.setFrontnumer(i
-
1
);
waiterlist.offer(w);
}
return
waiterlist;
}
public
Queue
<
GoldWaiter
>
goldinit()
{
GoldWaiter w
=
null
;
for
(
int
i
=
1
;i
<
10
;i
++
)
{
w
=
new
GoldWaiter();
w.setNumber(i);
w.setFrontnumer(i
-
1
);
goldwaiterlist.offer(w);
}
return
goldwaiterlist;
}
}
測試類:
public
class
TestQueue
implements
Runnable
{
QueueServer server
=
new
QueueServer();
Queue
<
Waiter
>
waiterlist
=
server.init();
Queue
<
GoldWaiter
>
goldwaiterlist
=
server.goldinit();
public
static
void
main(String[] args)
{
TestQueue tq
=
new
TestQueue();
Thread t1
=
new
Thread(tq,
"
1號窗口
"
);
Thread t2
=
new
Thread(tq,
"
2號窗口
"
);
Thread t3
=
new
Thread(tq,
"
3號窗口
"
);
t1.start();
t2.start();
t3.start();
}
public
synchronized
void
handBusiness()
{
Waiter w
=
null
;
GoldWaiter gw
=
null
;
if
(waiterlist
!=
null
)
{
gw
=
goldwaiterlist.poll();
if
(gw
!=
null
)
{
System.out.println(
"
尊敬的大爺,您的號碼是
"
+
gw.getNumber()
+
"
請您到
"
+
Thread.currentThread().getName()
+
"
辦理業務
"
);
}
else
{
w
=
waiterlist.poll();
if
(w
!=
null
)
{
System.out.println(
"
個人業務用戶,您的號碼是
"
+
w.getNumber()
+
"
請您到
"
+
Thread.currentThread().getName()
+
"
辦理業務
"
);
}
else
{
System.out.println(
"
現在沒有用戶辦理業務了,喝杯咖啡吧,哈哈
"
);
}
}
}
}
public
void
run()
{
for
(
int
i
=
0
;i
<
20
;i
++
)
{
handBusiness();
try
{
Thread.sleep(
100
);
}
catch
(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
看看運行結果:
發表于 2010-11-07 22:48
遲到的鐘聲
閱讀(137)
評論(1)
編輯
收藏
評論
#
re: 再寫銀行排隊
回復
更多評論
LZ 寫的不錯 啊!!!
Tovep
評論于 2010-11-09 12:55
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
主站蜘蛛池模板:
久久国产乱子伦精品免费午夜
|
在线观看免费无码专区
|
免费国产在线观看老王影院
|
亚洲免费黄色网址
|
亚洲av无码成人精品区
|
亚洲国产成人精品无码区在线网站
|
久久青草免费91线频观看不卡
|
国产亚洲成av片在线观看
|
亚洲AV噜噜一区二区三区
|
成人永久免费高清
|
美女被免费网站在线视频免费
|
AV大片在线无码永久免费
|
亚洲中文字幕在线乱码
|
成全动漫视频在线观看免费高清版下载
|
免费v片在线观看品善网
|
日韩在线视频播放免费视频完整版
|
免费观看国产网址你懂的
|
亚洲一区二区三区播放在线
|
久久久久久99av无码免费网站
|
亚洲中文字幕久久精品无码VA
|
精品亚洲永久免费精品
|
久久精品国产亚洲av水果派
|
精品一区二区三区高清免费观看
|
亚洲精品高清国产一线久久
|
91精品导航在线网址免费
|
亚洲影院天堂中文av色
|
亚洲人成影院在线观看
|
国产成人精品亚洲
|
在线A亚洲老鸭窝天堂
|
18以下岁毛片在免费播放
|
亚洲国产天堂在线观看
|
免费看韩国黄a片在线观看
|
男女猛烈xx00免费视频试看
|
亚洲VA中文字幕不卡无码
|
全黄大全大色全免费大片
|
亚洲高清日韩精品第一区
|
国产精品无码一区二区三区免费
|
亚洲精品无码av天堂
|
99视频精品全部免费观看
|
国产亚洲精品bv在线观看
|
免费无码精品黄AV电影
|