ArrayList的使用方法【转载】
2004-11-24 12:20
555 查看
ArrayList的使用方法【转载】
转载了一篇关于《ArrayList的使用方法》的文章,讲解得非常清楚,可以很好地解释下面的问题:
(1) If interacting with collections from multiple threads, you must make the collection thread safe.
SAMPLE CODE:
ArrayList myAr = new ArrayList();
// Creates a synchronized wrapper around the ArrayList.
ArrayList mySyncedAr = ArrayList.Synchronized[/b](myAr);
// To use collection from thread:
ArrayList myCollection = new ArrayList();
lock(myCollection.SyncRoot);
foreach ( Object item in myCollection )
{ // do work here }
Please note the following remarks from MSDN:[/b]
To guarantee the thread safety of the ArrayList, all operations must be done through this synchronized wrapper.
Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.
(2)Initialize collection sizes at startup to speed up node creation.
ArrayList myAL = new ArrayList(); // Without initializing collection sizes
ArrayList myAL = new ArrayList(1000); // With initializing collection sizes
You can get more detailed information from the above article, ArrayList的使用方法.
转载了一篇关于《ArrayList的使用方法》的文章,讲解得非常清楚,可以很好地解释下面的问题:
(1) If interacting with collections from multiple threads, you must make the collection thread safe.
SAMPLE CODE:
ArrayList myAr = new ArrayList();
// Creates a synchronized wrapper around the ArrayList.
ArrayList mySyncedAr = ArrayList.Synchronized[/b](myAr);
// To use collection from thread:
ArrayList myCollection = new ArrayList();
lock(myCollection.SyncRoot);
foreach ( Object item in myCollection )
{ // do work here }
Please note the following remarks from MSDN:[/b]
To guarantee the thread safety of the ArrayList, all operations must be done through this synchronized wrapper.
Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.
(2)Initialize collection sizes at startup to speed up node creation.
ArrayList myAL = new ArrayList(); // Without initializing collection sizes
ArrayList myAL = new ArrayList(1000); // With initializing collection sizes
You can get more detailed information from the above article, ArrayList的使用方法.
相关文章推荐
- 系统进程描述
- 收藏夹爆了!
- 令狐冲和TCP/IP协议的第三层协议的关系
- 中华民族传统文化精髓___二十四孝
- JSTL 入门:表达式语言简化对 JSP 应用的软件维护
- JSP 最佳实践:为您的JSP标记创建自定义属性
- Spring 调用ORACLE存储过程的结果集
- 经典入门教程:JSP标准模板库(下)
- 经典入门教程:JSP标准模板库(上)
- treeview 效果
- js菜单
- 如何解决客户端与服务器端的连接(mysql) :xxx.xxx.xxx.xxx is not allowed to connect to this mysql serv
- 定制自己的xDoclet标签
- 使用Jakarta Log Taglib
- 給delphi 2005 for Win32 提速
- 第六章:标签内常用方法总结
- 终于懂如何装LINUX软件了!!!哈哈哈!好像也不难哦
- XML教程一(转自IBM)-XML是什么?
- 你喜欢怎样写Js、Dhtml代码[转帖:来自无忧]
- 第五章:再论支持El表达式和jstl标签