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

石龙做网站如何做软件开发

石龙做网站,如何做软件开发,发卡网站建设,文化厅网站建设审核报告单前言#xff1a;首先#xff0c;线程表示一条单独的执行流#xff0c;每个线程有自己的执行计数器#xff0c;有自己的栈#xff0c;但可以共享内存#xff0c;共享内存是实现线程协作的基础#xff0c;但共享内存有两个问题#xff0c;竞态条件和内存可见性。解决这些… 前言首先线程表示一条单独的执行流每个线程有自己的执行计数器有自己的栈但可以共享内存共享内存是实现线程协作的基础但共享内存有两个问题竞态条件和内存可见性。解决这些问题可能需要的知识储备synchronized、显式锁、volatile、原子变量和CAS、写时复制、ThreadLocal等。 本篇主要介绍synchronized。 文章目录 什么是 synchronized为什么使用 synchronized怎么用方法级别代码块级别 总结 作者简介作为某云服务提供商的后端开发人员我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验希望能通过这个博客与大家交流、学习和成长。技术栈Java、PHP、Python、Vue、React 本文收录于三木的 「Java探索者之路」系列专栏这个专栏旨在引领Java开发者踏上一段真正探索Java世界的旅程。我们将深入探讨Java编程的方方面面从基础知识到高级技巧从实践案例到最新趋势帮助你成为一名卓越的Java探索者。如果有想进入Java后端领域工作的同学这个专栏会对你有所帮助欢迎关注起来呀 「面试」这个专栏的灵感来自于许多粉丝私信大家向我咨询有关面试的问题和建议。我深感荣幸和责任希望通过这个专栏能够为大家提供更多关于面试的知识、技巧和经验。我们将一起探讨面试。期待粉丝们ssp的offer喜讯。 本人也会持续的去关注AIGC以及人工智能领域的一些动向并总结到博客中大家感兴趣的可以关注一下我的「AI」专栏 「Python爬虫」的入门学习系列大家有兴趣的可以看一看 一起学习互三互访顺评论区有访必回有关必回 什么是 synchronized synchronized 是 Java 中用于实现线程同步的关键字。它可以应用于方法或代码块并确保在同一时间只有一个线程可以访问被 synchronized 修饰的代码区域。通过在关键代码段中使用 synchronized可以有效地保护共享资源避免多个线程同时访问导致的数据不一致或竞态条件。 为什么使用 synchronized 在多线程环境中共享数据的并发访问可能导致数据的不一致性和线程安全问题。synchronized 提供了互斥访问的机制确保同一时间只有一个线程可以访问共享资源。通过使用 synchronized可以保证线程安全性避免竞态条件和数据冲突提高程序的可靠性和稳定性。 怎么用 Synchronized 可以通过两种方式使用修饰方法和修饰代码块。 方法级别 方法级别的 synchronized可以使用 synchronized 修饰整个方法将方法声明为 synchronized这样在调用该方法时会自动获取对象级别的锁即当前对象实例的锁。这样可以确保同一时间只有一个线程可以执行该方法保证方法的原子性和线程安全性。 实例方法 public class SynchronizedExample {public synchronized void synchronizedMethod() {// 同步的方法代码块} }静态方法 public class SynTest {public static void main(String[] args) throws InterruptedException {for (int i 0; i 10; i) {Thread thread new Thread(() - {try {hello();} catch (InterruptedException e) {throw new RuntimeException(e);}});thread.start();}Thread.sleep(10000L);System.out.println(main exit);}private synchronized static void hello() throws InterruptedException {long id Thread.currentThread().getId();System.out.println(threadId id);Thread.sleep(1000L);System.out.println(threadId idend);}} 代码块级别 代码块级别的 synchronized可以使用 synchronized 修饰代码块通过指定锁对象来实现同步。**锁对象可以是任意对象但最好选择共享资源所属的对象作为锁对象以避免不必要的锁竞争。**通过在代码块前加上 synchronized 关键字并指定锁对象可以确保同一时间只有一个线程可以执行该代码块。 锁实例方法 public class SynchronizedExample {private final Object lock new Object();public void synchronizedBlock() {synchronized (lock) {// 同步的代码块}} }锁静态方法 public class SynTest {public static void main(String[] args) throws InterruptedException {for (int i 0; i 10; i) {Thread thread new Thread(() - {try {hello1();} catch (InterruptedException e) {throw new RuntimeException(e);}});thread.start();}Thread.sleep(10000L);System.out.println(main exit);}private static void hello1() throws InterruptedException {synchronized (Lock.class) {long id Thread.currentThread().getId();System.out.println(threadId id);Thread.sleep(1000L);System.out.println(threadId idend);}}class Lock{} }总结 使用 synchronized 时需要注意以下几点 选择合适的锁对象应该选择共享资源所属的对象作为锁对象避免不必要的锁竞争。尽量缩小同步范围只在必要的代码区域使用 synchronized以减少同步开销提高并发性能。避免死锁确保线程在获取锁的过程中不会出现循环等待的情况以避免死锁的发生。性能问题synchronized 的过度使用可能导致性能问题应根据具体场景和需求进行权衡和优化。
http://www.zqtcl.cn/news/778441/

相关文章:

  • 广州建网站公司排名嵌入式软件开发工程师工作内容
  • 计算机软件网站建设免费asp网站源码
  • 网站建设介绍ppt镇江网站搜索引擎优化
  • 珠海自助建站软件泉州网站开发
  • ios个人开发者账号多少钱拼多多seo怎么优化
  • 五金网站建设信息产业部备案网站
  • 网站被百度惩罚放弃互联网平台宣传推广方案
  • 自己怎么做网站首页自动app优化
  • 图形设计网站泉州网站建设企业
  • 免费建各种网站有没有做网站的团队
  • 做网站做网站的公司电商网站怎么做
  • 福建专业网站建设公司《设计》韩国
  • 怎么区分网站是模板做的Wordpress福利资源模板
  • 文案类的网站最新域名网站
  • 网站seo优化效果智能营销系统开发
  • 国外做储物的网站个人网站建设在哪里
  • 北京高端网站设计外包公司不用代码做网站的工具
  • 网站开发交付资料广告设计公司经营范围
  • 如何建立一个好的网站wordpress 看不到主题
  • 古典网站织梦模板云南app软件开发
  • 网页设计与网站建设期末考试wordpress文章页面图片自动适应
  • 网站建设费要交印花税吗国内ui网站
  • wordpress安装在本地专业seo网络推广
  • 农庄网站模板网络文化经营许可证图片
  • 微信做模板下载网站有哪些内容江苏省常州建设高等职业技术学校网站
  • 网站开发补充合同范本docker 部署wordpress
  • 学会了php的语法怎么做网站海外推广媒体
  • 东莞网站建设排行企业网站开发公司大全
  • wordpress商城必备软件重庆seo优化推广
  • 蚌埠百度做网站山东省无障碍网站建设标准