arraylist是线程安全的吗(Java中StringBuffer 、ArrayList是线程安全的吗)
本文目录
- Java中StringBuffer 、ArrayList是线程安全的吗
- java中vector和array list的区别是什么
- CArray是否是线程安全的
- List是线程安全的吗若不是安全,怎么变成安全的
Java中StringBuffer 、ArrayList是线程安全的吗
ArrayList不是线程安全的你看API如果他们的方法定义里面有synchronized证明是线程安全的StringBuffer是线程安全的
java中vector和array list的区别是什么
vector是线程安全的,而arraylist不是线程安全的,其实用法倒没什么特别大的区别,如果是要用在对线程安全不高的环境下还是尽可能用arraylist或linkedlist比较好,性能稍高,如果要用在线程要求很高的环境下还是用vector比较好,不过性能稍差
CArray是否是线程安全的
单纯从代码上看,应该没有语法错误和语义错误,所以不能说是不正确的。但这个代码应该是很消耗资源并且执行很耗时的,这就要求你要做好优化。建议大致如下:既然每次都set,那么局部变量应该放在for语句外面声明,这样可以减少变量声明的消耗;循环中的处理应该尽量减少不必要的消耗,动态数组操作比变量操作要慢的多,例如ptvlist.GetAt(i)就是完全没有必要的操作,甚至ptvlist都是没有必要的;这个操作是为了显示吧,如果在OnDraw里面,数据多的时候会非常缓慢,应该考虑双缓冲的使用;最后,CshapePolyLine应该还有更好的操作方法吧,如果我是你,我不会去考虑使用CArray(这个应该是预留接口),而应该考虑,在没有ChangePt的时候是怎样的操作,那么不如新建一个shapepoly,将转换后的写回去,直接使用类的OnDraw方法写类内数据(而不是OnDraw一个Array)。
List是线程安全的吗若不是安全,怎么变成安全的
你说的是java还是C++?java中解决这个问题通常有两种方法一:使用synchronized关键字;二:使用Collections.synchronizedList();假如你创建的代码如下:List《Map《String,Object》》 data=new ArrayList《Map《String,Object》》();那么为了解决这个线程安全问题你可以这么使用Collections.synchronizedList()如:List《Map《String,Object》》 data=Collections.synchronizedList(new ArrayList《Map《String,Object》》());把new关键字换一下就可以了其他的都没变,使用方法可以参考api文档;C++中的List有两种:一种是你自己手动实现的list数据结构,一种就是STL给你封装好的。如果你是自己手动实现的,那么就发源码来,我帮你看怎么优化。如果是用stl的那么你不能期望STL给你线程支持,因为它要的是效率。需要注意的是:1. 多个线程的读是安全的。多线程可同时读取一个容器内容。只能是读,不能写。2. 对不同容器的多个写入是安全的。多线程可以同时写不同容器。 注意,是不同容器。所以你应该自己写一个针对容器的模板类来实现加锁(构造的时候加锁,析构的时候释放),然后在访问容器的时候,定义一个该类的临时变量,临时变量可以保证如果抛出了异常,该临时对象也会被销毁,从而也释放掉锁。
本文相关文章:

ccriticalsection(MFC多线程写文件出现数据混乱)
2025年3月6日 05:30

java 多线程面试(面试问 关于JAVA多线程,从哪些方面回答呢)
2025年2月19日 18:00
更多文章:

软件java是什么意思(JAVA是什么软件主要是干什么用的)
2025年3月13日 10:20

phpstorm使用(如何使用PhpStorm的内置网络服务器 )
2025年4月13日 23:40

collection翻译成中文(collection是什么意思)
2025年2月14日 10:20

getmessage函数(getmessage()方法可以显示抛出的异常吗)
2025年4月14日 02:30

webservice的作用(C#中webservice的作用是什么)
2025年2月17日 04:50

domino(如何安装或删除domino服务器作为Windows的服务)
2025年2月28日 08:50

retaliatory(retaliatory tariff是什么意思)
2025年2月20日 22:30

javapath配置(配置JAVA环境把path搞没了还有救么)
2025年3月31日 12:00

内存溢出异常(电脑软件使用某一程序,有时会报 内存溢出错误out of memory)
2025年2月16日 21:50