java中哪些类是线程同步的,哪些类不是线程同步的类的线程同步指的是什么,能举例说明这2种情况吗

java中哪些类是线程同步的,哪些类不是线程同步的类的线程同步指的是什么,能举例说明这2种情况吗,第1张

hashtable\vector 是线程同步的

hashmap arraylist是线程非同步的

同步指的是多个人来 *** 作这个东西只能一个一个排队来, 非同步就是大家可以同时 *** 作;高方法多线程的场景如果非同步 就有可能导致大家共同 *** 作一个数据的问题。

比如 你的yhk是一个类的对象,现在有100块,你在一个取款机取款读到卡里钱是100再取100 =0余额,你妈妈也同时再给这个卡存款 由于并发和你同时进行 读到卡里钱100+100=200,最后应该写回数据库 到底0还是200呢 是不是都不对,如果整个系统都是一个程序内,那就是2个线程非同步情况。 同步后就不会有这样问题,你 *** 作完了,你妈妈才能 *** 作。

当然这里只是模拟简单例子,实际情况会更复杂呵呵。

1共用一个连接就可以

2其实一样可以用lock实现,把数据库 *** 作写成一个函数,函数内加lock。c#会安排他们排队

比如

private static object privateObjectLock = new object();

public static xxoo()

{

lock(privateObjectLock)

{

//数据 *** 作语句

}

}

}

你在一个函数里实现数据库 *** 作。然后线程 *** 作数据库都调用他

方法加同步锁,保证在同一个时间内只有一个人可以使用可以解决,具体可以参照>

以上就是关于java中哪些类是线程同步的,哪些类不是线程同步的类的线程同步指的是什么,能举例说明这2种情况吗全部的内容,包括:java中哪些类是线程同步的,哪些类不是线程同步的类的线程同步指的是什么,能举例说明这2种情况吗、c# 多线程访问数据库、java多线程同时对数据库插入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9467208.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存