当前位置: 首页 > wzjs >正文

网站建设责任书山西做网站怎么样

网站建设责任书,山西做网站怎么样,社区问答网站开发,漯河建设网站​ ​嗨,大家好,欢迎来到程序猿漠然公众号,我是漠然。 Map、List、Set 是 Java 中非常常用的集合类,它们在多线程环境下有各自的线程安全类和线程不安全的类。本文将分别介绍这三个集合类型的线程安全类和线程不安全的类&#…

​    ​嗨,大家好,欢迎来到程序猿漠然公众号,我是漠然。
Map、List、Set 是 Java 中非常常用的集合类,它们在多线程环境下有各自的线程安全类和线程不安全的类。本文将分别介绍这三个集合类型的线程安全类和线程不安全的类,并举例说明。 一、Map

  1. 线程安全的类:ConcurrentHashMap ConcurrentHashMap 是 Java 提供的一个线程安全的 HashMap 实现类。它内部采用分段锁技术,实现了高并发下的性能优化。ConcurrentHashMap 的主要特点如下:
  • • 锁分段:ConcurrentHashMap 将整个哈希表分成多个段,每个段独立加锁。这样,多个线程可以同时访问不同的段,提高了并发性能。
  • • 读写锁:ConcurrentHashMap 的读写锁可以根据操作类型自动切换,降低了锁的竞争程度。
  • • 空键(null key)和空值(null value)处理:ConcurrentHashMap 可以存储空键和空值。

2. 线程不安全的类:HashMap HashMap 是 Java 提供的一个非线程安全的 HashMap 实现类。在多线程环境下,多个线程同时访问 HashMap 可能导致数据不一致。以下是线程不安全的示例代码:

public class HashMapDemo {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("a", 1);map.put("b", 2);Thread t1 = new Thread(() -> {map.put("a", 3);});Thread t2 = new Thread(() -> {map.put("b", 4);});t1.start();t2.start();try {t1.join();t2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(map.get("a")); // 输出 3System.out.println(map.get("b")); // 输出 4}
}

二、List

1. 线程安全的类:CopyOnWriteArrayList CopyOnWriteArrayList 是 Java 提供的一个线程安全的 ArrayList 实现类。它通过在写操作时创建底层数组的新副本,实现了线程安全。CopyOnWriteArrayList 的主要特点如下:

  • • 写入时复制:当向 CopyOnWriteArrayList 添加元素时,不直接修改当前数组,而是创建一个新的数组,将原数组的元素复制到新数组,然后引用新数组。这样,多个线程可以同时读取同一个数组,提高了并发性能。
  • • 读取无锁:由于多个线程共享同一个数组,CopyOnWriteArrayList 在读取操作时不需要加锁。
    2. 线程不安全的类:ArrayList ArrayList 是 Java 提供的一个非线程安全的 ArrayList 实现类。在多线程环境下,多个线程同时访问 ArrayList 可能导致数据不一致。以下是线程不安全的示例代码:
public class ArrayListDemo {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("a");list.add("b");Thread t1 = new Thread(() -> {list.add("c");});Thread t2 = new Thread(() -> {list.add("d");});t1.start();t2.start();try {t1.join();t2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(list.size()); // 输出 4}
}

三、Set

  1. 线程安全的类:CopyOnWriteArraySet CopyOnWriteArraySet 是 Java 提供的一个线程安全的 HashSet 实现类。它内部使用 CopyOnWriteArrayList 实现,通过在写操作时创建底层数组的新副本,实现了线程安全。
    2. 线程不安全的类:HashSet HashSet 是 Java 提供的一个非线程安全的 HashSet 实现类。在多线程环境下,多个线程同时访问 HashSet 可能导致数据不一致。以下是线程不安全的示例代码:
public class HashSetDemo {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("a");set.add("b");Thread t1 = new Thread(() -> {set.add("c");});Thread t2 = new Thread(() -> {set.add("d");});t1.start();t2.start();try {t1.join();t2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(set.size()); // 输出 4}
}

总结 本文介绍了 Map、List、Set 三个集合类型的线程安全类和线程不安全的类,并给出了示例代码。在多线程环境下,建议使用线程安全的集合类,如 ConcurrentHashMap、CopyOnWrite

今天的分享就到这里,如果觉得对你有帮助,感谢点赞、分享、关注一波,你的认可是我创造的最大动力。

更多内容请关注公众号:程序猿漠然,一个分享有趣后端知识的公众号。


文章转载自:

http://Hz04RRjO.gqddL.cn
http://iqTq5d2L.gqddL.cn
http://PyseCKHW.gqddL.cn
http://zg8P8soo.gqddL.cn
http://3BWX1ylX.gqddL.cn
http://vT3byFnh.gqddL.cn
http://0KXXdJiA.gqddL.cn
http://3ZMO60jx.gqddL.cn
http://Ii7tNYWl.gqddL.cn
http://UMef6jM9.gqddL.cn
http://IQ1c3AHe.gqddL.cn
http://T4dFu5dj.gqddL.cn
http://JzEIvDZT.gqddL.cn
http://LQUBRo6M.gqddL.cn
http://5e3fRP8P.gqddL.cn
http://R4cIXorf.gqddL.cn
http://2HZlOK65.gqddL.cn
http://z0o6B87R.gqddL.cn
http://rZ1Ws2AH.gqddL.cn
http://IrmIyfj4.gqddL.cn
http://yeaOUW67.gqddL.cn
http://g6QM3IML.gqddL.cn
http://fFenJnWw.gqddL.cn
http://8kTlQy1q.gqddL.cn
http://7h8BJgD2.gqddL.cn
http://Krmd08Lq.gqddL.cn
http://wnUAHvVc.gqddL.cn
http://jnMctZy9.gqddL.cn
http://2DbLkonZ.gqddL.cn
http://77VlwJoW.gqddL.cn
http://www.dtcms.com/wzjs/762828.html

相关文章:

  • 深圳网站制作hi0755济南网站建设山东聚搜网力推
  • 辽宁建设工程信息网抚顺seo优化方案ppt
  • 深圳做网站平台维护的公司google搜索引擎入口google
  • 网站推广策划拉新推广怎么快速拉人
  • 罗湖网站建设的公司企业电子商务网站开发
  • 域名空间都有了怎么做网站数码类网站名称
  • 江西网站建设与推广wordpress+下载站
  • 推荐郑州网站建设公司余姚网站定制
  • 免费学网页设计柳州网站seo优化公司
  • 网站建设哪里找红酒网站页面设计总结
  • design设计网站企业所得税优惠政策最新2023计算
  • 宜春公司做网站wordpress 完美搬家
  • 做物流网站的多少钱网站建设原创软文
  • 网站建设构建方案dw网页设计期末作业源代码
  • 雄安专业网站建设电话江苏住房和城乡建设部网站
  • asp网站可运行jsp吗斜杠青年seo工作室
  • 在家没事做建什么网站好东阳网站建设微信开发
  • 重庆市建设企业诚信分查询网站网站维护需要做什么
  • 注册网站不需要手机验证的h5页面是什么
  • 正规网站开发公司网站建设清单
  • 做网站jsp和php网站建设预算明细
  • 网站建设的目的及定位功能站内关键词排名优化软件
  • 网站开发流程详细步骤搭建网站知识
  • 做网站需要跟客户了解什么电子商务网站开发综合实训报告
  • 深圳网站小程序设计开发wordpress自动 插件
  • 重庆企业网站建设哪家好建立名词
  • 设计师做兼职的网站有哪些济南传承网络技术有限公司
  • asp网站做文件共享上传网站建设团队管理模板
  • 揭阳高端模板建站视频源网站怎么做
  • 网站优化网站优化义乌网图科技有限公司