擺渡人,外婆橋!
----只要路選對了,就不怕有多遠(yuǎn)!
同步(synchronized)對程序性能的影響!
在使用多線程時,可能會訪問一些全局的數(shù)據(jù),這時必然會使用同步機制來使程序按照一定順序來執(zhí)行,這樣程序的性能也會下降。所以一定要慎用同步,正確用同步。看下面的程序
???????
int
?curIndex?
=
?
0
;
????????AuditQueueEntry?aqe;
????????
synchronized
?(localCriticalSection)?
{??????
????????????
while
?(curIndex?
<
?theList.size())?
{
????????????????aqe?
=
?(AuditQueueEntry)?theList.get(curIndex);
????????????????
if
?(aqe.getTrailId()?
==
?theTrailId)?
{
????????????????????theList.remove(curIndex);
????????????????}
?
else
?
{
????????????????????curIndex
++
;
????????????????}
????????????}
????????}
localCriticalSection做為一個信號量來控制程序?qū)︻惓蓡T變量theList的訪問,從而保證了theList在同一時間只有一個程序訪問。運行程序,這個函數(shù)花費了將近4秒鐘。同步是很耗時間的。
在java.util.Collections中提供了很多方法來保證集合(數(shù)組)的同步訪問。
我們修改類成員變量theList的實例化方法:
theList?
=
?Collections.synchronizedList(new?LinkedList());
再修改處理函數(shù):
????????
int
?curIndex?
=
?
0
;
????????AuditQueueEntry?aqe;
//
????????synchronized?(localCriticalSection)?{
????????
synchronized
(theList)?
{????
????????????
while
?(curIndex?
<
?theList.size())?
{
????????????????aqe?
=
?(AuditQueueEntry)?theList.get(curIndex);
????????????????
if
?(aqe.getTrailId()?
==
?theTrailId)?
{
????????????????????theList.remove(curIndex);
????????????????}
?
else
?
{
????????????????????curIndex
++
;
????????????????}
????????????}
????????}
再運行,這個函數(shù)才花費將近一秒鐘的時間!
在Collections中提供了很多這類的方法。
發(fā)表于 2006-11-10 12:37
swingboat
閱讀(1335)
評論(2)
編輯
收藏
所屬分類:
JAVA
評論
#
re: 同步(synchronized)對程序性能的影響!
但這里有個問題:
當(dāng)兩個線程A和B同時訪問此函數(shù)的時候,假設(shè)theList.site()為5.優(yōu)先級高的線程A首先訪問訪問此函數(shù).線程A刪除了一個元素,假設(shè)當(dāng)前索引為2.線程B開始訪問此函數(shù),而開始刪除索引為2的元素.由于索引2的元素已經(jīng)被線程A刪除了,所以線程B開始訪問的刪除的時候,會拋出空指針的異常.
swingboat
評論于 2006-11-13 14:44
回復(fù)
更多評論
#
re: 同步(synchronized)對程序性能的影響!
其實你的問題,與線程是沒有關(guān)系的。只不過在刪除的時候需要去檢查下需要刪除的對象是否在數(shù)組中存在。
swingboat
評論于 2006-11-30 11:02
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
利用JGroups同步兩臺server之間的cache。
有關(guān)“+”和“_”的search。
synchronized的作用
不同時區(qū)之間,時間的轉(zhuǎn)換?
maven2使用問題集(命令篇)!
同步(synchronized)對程序性能的影響!
Tomcat5.5.x的JNDI配置(jakarta-tomcat-5.5.7)。
AXIS學(xué)習(xí)(1)
獲取classes目錄下的資源文件和類所在目錄下的資源文件?
實現(xiàn)類clone方法
<
2006年11月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
公告
導(dǎo)航
BlogJava
首頁
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
統(tǒng)計
隨筆: 51
文章: 1
評論: 50
引用: 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
JAVA(21)
(rss)
javascript&DHTML&CSS(15)
(rss)
Oracle/MySQL(6)
(rss)
SOA(1)
(rss)
WEB2.0(4)
(rss)
WorkFlow&BPEL(1)
(rss)
名詞概念(1)
(rss)
架構(gòu)模式
(rss)
汽車&甲殼蟲
(rss)
設(shè)計模式(3)
(rss)
軟件工程(1)
(rss)
隨筆檔案
2007年9月 (1)
2007年8月 (3)
2007年7月 (1)
2007年5月 (2)
2007年4月 (4)
2007年3月 (1)
2007年2月 (1)
2006年12月 (1)
2006年11月 (2)
2006年10月 (1)
2006年8月 (1)
2006年4月 (1)
2006年3月 (2)
2006年2月 (4)
2005年12月 (26)
文章檔案
2006年1月 (1)
IT
竹筍炒肉
搜索
積分與排名
積分 - 132831
排名 - 466
最新隨筆
1.?IE對select的處理,又一怪現(xiàn)象:innerHTML竟然不起作用。
2.?在IE下,頁面只有一個text的時候,回車將自動submit。
3.?設(shè)置input的內(nèi)容居中?
4.?可惡的“本頁不但包含安全的內(nèi)容,也包含不安全的內(nèi)容。是否顯示不安全的內(nèi)容”對話框?
5.?利用JGroups同步兩臺server之間的cache。
6.?有關(guān)“+”和“_”的search。
7.?synchronized的作用
8.?HTML的特殊字符
9.?不同時區(qū)之間,時間的轉(zhuǎn)換?
10.?javascript在IE和Firefox中的區(qū)別1
最新評論
1.?re: javascript轉(zhuǎn)換日期字符串為Date對象
大牛
--sfafa
2.?re: synchronized的作用[未登錄]
把100換成1000就好了!
--xyz
3.?re: synchronized的作用
晦澀難懂!
--無知者
4.?re: synchronized的作用
好
--白河夜歌
5.?re: 可惡的“本頁不但包含安全的內(nèi)容,也包含不安全的內(nèi)容。是否顯示不安全的內(nèi)容”對話框?
評論內(nèi)容較長,點擊標(biāo)題查看
--老梁
閱讀排行榜
1.?javascript轉(zhuǎn)換日期字符串為Date對象(47709)
2.?synchronized的作用(16397)
3.?可惡的“本頁不但包含安全的內(nèi)容,也包含不安全的內(nèi)容。是否顯示不安全的內(nèi)容”對話框?(11083)
4.?不同時區(qū)之間,時間的轉(zhuǎn)換?(7445)
5.?利用JGroups同步兩臺server之間的cache。(6601)
評論排行榜
1.?synchronized的作用(18)
2.?可惡的“本頁不但包含安全的內(nèi)容,也包含不安全的內(nèi)容。是否顯示不安全的內(nèi)容”對話框?(7)
3.?javascript在IE和Firefox中的區(qū)別1(6)
4.?javascript轉(zhuǎn)換日期字符串為Date對象(4)
5.?在IE下,頁面只有一個text的時候,回車將自動submit。(3)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 swingboat
主站蜘蛛池模板:
色视频在线观看免费
|
亚洲欧洲免费视频
|
亚洲AV日韩AV天堂久久
|
114一级毛片免费
|
国产成人va亚洲电影
|
亚洲国产成人片在线观看无码
|
免费人成在线观看69式小视频
|
无遮挡呻吟娇喘视频免费播放
|
久久久亚洲裙底偷窥综合
|
国产精品公开免费视频
|
亚洲一区免费观看
|
狠狠热精品免费观看
|
亚洲国产精品yw在线观看
|
国产精品亚洲综合一区
|
久久WWW免费人成人片
|
女人隐私秘视频黄www免费
|
亚洲中文字幕一区精品自拍
|
亚洲AV永久精品爱情岛论坛
|
国产精品免费电影
|
18禁黄网站禁片免费观看不卡
|
免费一级全黄少妇性色生活片
|
老司机午夜性生免费福利
|
老汉色老汉首页a亚洲
|
xvideos亚洲永久网址
|
亚洲精品在线免费观看视频
|
亚欧洲精品在线视频免费观看
|
亚洲娇小性xxxx
|
亚洲AV乱码一区二区三区林ゆな
|
亚洲第一黄色网址
|
在线视频观看免费视频18
|
日本不卡免费新一区二区三区
|
国产精品亚洲专区在线播放
|
亚洲Av无码一区二区二三区
|
亚洲国产精品国自产拍AV
|
亚洲国产主播精品极品网红
|
免费看无码自慰一区二区
|
久草视频在线免费
|
久久免费国产视频
|
丝袜足液精子免费视频
|
日本高清免费中文在线看
|
亚洲AV无码专区亚洲AV桃
|