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.?無題(203)
2.?很久沒更新了,真的太久了(175)
評論排行榜
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
遲到的鐘聲
閱讀(143)
評論(1)
編輯
收藏
評論
#
re: 再寫銀行排隊
回復
更多評論
LZ 寫的不錯 啊!!!
Tovep
評論于 2010-11-09 12:55
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
主站蜘蛛池模板:
亚洲精品视频久久
|
亚洲Av无码精品色午夜
|
毛片在线免费视频
|
日本一道一区二区免费看
|
亚洲成?Ⅴ人在线观看无码
|
亚洲一区无码精品色
|
国产亚洲色婷婷久久99精品
|
国产成人精品日本亚洲直接
|
国产精品亚洲а∨天堂2021
|
一级毛片a女人刺激视频免费
|
99ee6热久久免费精品6
|
岛国片在线免费观看
|
亚洲色婷婷六月亚洲婷婷6月
|
亚洲国产精品综合久久久
|
国产亚洲蜜芽精品久久
|
亚洲AV中文无码乱人伦
|
又大又硬又粗又黄的视频免费看
|
97av免费视频
|
亚洲综合色在线观看亚洲
|
中文字幕免费在线播放
|
黄瓜视频高清在线看免费下载
|
亚洲91精品麻豆国产系列在线
|
国产色无码精品视频免费
|
亚洲av无码成人精品区
|
国产免费黄色无码视频
|
免费观看四虎精品国产永久
|
亚洲欧洲自拍拍偷综合
|
成年午夜视频免费观看视频
|
亚洲精品国产手机
|
午夜免费福利在线
|
久久91亚洲精品中文字幕
|
日本亚洲中午字幕乱码
|
青青青免费国产在线视频小草
|
亚洲爆乳精品无码一区二区三区
|
亚洲国产无线乱码在线观看
|
18成禁人视频免费网站
|
亚洲av最新在线网址
|
99久久综合国产精品免费
|
久久久亚洲裙底偷窥综合
|
91视频免费观看
|
亚洲乱码国产一区网址
|