arraylist再什么情况下用会出现不安全的情况啊!分不够还可以给啊!谢谢阿

guaigm 2004-10-14 08:57:27
不是说arraylist线程不安全吗?
但是不知道为什么啊?
能说说吗?

另外如果不安全怎么解决啊?
...全文
185 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
debug158 2004-11-20
  • 打赏
  • 举报
回复
ding
禽兽v5 2004-10-20
  • 打赏
  • 举报
回复
受之有愧。
禽兽v5 2004-10-19
  • 打赏
  • 举报
回复
你用 wwwer1(武陵豪杰) 的方法也可以。

我提供的是jdk 1.4帮助里的示例。你直接查api文档可以找到说明。英文的就不翻译了。
guaigm 2004-10-19
  • 打赏
  • 举报
回复
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list)
{
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
{
// do something...
}
}



这是什么意思能讲讲吗?
guaigm 2004-10-19
  • 打赏
  • 举报
回复
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list)
{
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
{
// do something...
}
}



这是什么意思能讲讲吗?
guaigm 2004-10-19
  • 打赏
  • 举报
回复
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list)
{
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
{
// do something...
}
}



这是什么意思能讲讲吗?
guaigm 2004-10-16
  • 打赏
  • 举报
回复
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list)
{
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
{
// do something...
}
}



这是什么意思能讲讲吗?
shangqiao 2004-10-16
  • 打赏
  • 举报
回复
举个最简单的例子,比如你在开发web程序时,将ArrayList数据存入application作用域那么就会出现问题
guaigm 2004-10-15
  • 打赏
  • 举报
回复
ArrayList上需要加synchronized以便使他同步。

怎么加啊!
guaigm 2004-10-15
  • 打赏
  • 举报
回复
ArrayList上需要加synchronized以便使他同步。

怎么加啊!
guaigm 2004-10-15
  • 打赏
  • 举报
回复
ArrayList上需要加synchronized以便使他同步。

怎么加啊!
dengyin2000 2004-10-15
  • 打赏
  • 举报
回复
ThreadLocal!
cold_blooded 2004-10-15
  • 打赏
  • 举报
回复
ArrayList,HashMap是异步的。(新API)--A
Vector,HashTable是同步的。(老API) --B

一般情况下没什么问题,但推荐使用A.
在有线程操作的情况下就不同了,以为有同步异步的关系。
所以ArrayList上需要加synchronized以便使他同步。
禽兽v5 2004-10-15
  • 打赏
  • 举报
回复
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list)
{
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
{
// do something...
}
}
dlinyo 2004-10-15
  • 打赏
  • 举报
回复
楼上解释得很通俗,是正确的,用法也是对的。
johncdc 2004-10-15
  • 打赏
  • 举报
回复
gz
hao
wwwer1 2004-10-15
  • 打赏
  • 举报
回复
ArrayList a1=new ArrayList();
synchronized(a1){

write your code;

}
相当于给a1加了一把锁,执行完括号里面的自动解索
禽兽v5 2004-10-14
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3307/3307963.xml?temp=1.112002E-02
guaigm 2004-10-14
  • 打赏
  • 举报
回复
e文不好啊。。。。55
guaigm 2004-10-14
  • 打赏
  • 举报
回复
在多线程的情况下,就把你的ArrayList类变量进行synchronized就可以放心的用了


怎么用synchronized啊?

不安全是指出会出现什么情况呢?
加载更多回复(2)

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧