java 同步与异步(线程安全)

同步:发送一个请求,等待返回,然后再发送下一个请求。(最安全,但给没必要同步的方法使用,会浪费等待时间)
异步:发送一个请求,不等待返回,随时可以在发送下一个请求。
同步可以避免出现死锁,读脏数据的发生。一般共享某一资源时使用(公共变量等)
同步需要等待,异步无需等待( 同步是一种高开销的操作,因此应该尽量减少同步的内容)
即有synchronized关键字修饰的语句块。  被该关键字修饰的语句块会自动被加上内置锁,从而实现同步  

vector是线程(Thread)同步(Synchronized)的,所以它也是线程安全的,
java中Arraylist的对象是线程异步(ASynchronized)的,是不安全的。
若想改为线程安全的: ArrayList<String> list  Collections.synchronizedCollection(list)
 
 
如果不考虑到线程的安全因素,一般用Arraylist效率比较高
线程安全:多个线程访问同一资源,不会产生不确定的结果。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值