首页 > 编程语言 >Java 多线程(六)线程同步

Java 多线程(六)线程同步

时间:2022-10-17 15:57:00浏览次数:45  
标签:同步 Java 对象 线程 锁会 优先级 多线程

并发

  同一个对象被多个线程同时操作

 

 

线程同步

 现实生活中,我们会遇到同一个资源,多个人都想使用的问题。比如,食堂排队打饭,每个人都想吃饭

最天然的解决办法就是排队,一个个来。

 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。这个时候我们就需要

线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成

队列,等待前面线程使用完毕,下一个线程再使用。

 

队列和锁

 由于同一进程的多个线程共享一块存储空间,在带来方便的同时,也带来了冲突问题,为了保证数据在

方法中被访问时的正确性,在访问时加入锁机制synchronized,当一个线程获得对象的排他锁,独占资源,

其他线程必须等待,使用后释放锁即可,存在以下问题:

  1.一个线程持有锁会导致其他所有需要此锁的线程挂起

  2.在多线程竞争下,加锁,释放锁会导致比较多的上下文切换和调度延时引起性能问题

  3.如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能问题

标签:同步,Java,对象,线程,锁会,优先级,多线程
From: https://www.cnblogs.com/zhulei118/p/16799439.html

相关文章

  • Design Patterns in JavaScript: Module, Revealing Module
    <html><head></head><body><h1>DesignPatternsinJavaScript:Module,RevealingModule</h1><divid="root"></d......
  • 【java开发】快速搭建java开发环境(在线开发)
    1、简介Java是由SunMicrosystems公司于1995年5月推出的高级程序设计语言。Java可运行于多个平台,如Windows,MacOS及其他多种UNIX版本的系统。Java是一门......
  • Java基础(八)| 常用API与StringBuilder详解
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......
  • SpringBoot异步线程,父子线程数据传递的5种方案
    背景在上一篇《SpringBoot+@Async开启异步,快的飞起(https://blog.51cto.com/u_15339304/5715380)》文章种我们介绍了使用springboot自定义线程池的方式实现多线程的异步......
  • java 集合对象排序
    关于集合内部排序,采用comparator方法做:1.按属性数字大小排序:点击查看代码taskBoxs.sort(newComparator<TCComponent>(){ @Override publicintcompare(TCCom......
  • 使用install4j将java的class文件打包成exe的详细操作
    介绍install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。此处主要是讲,如何将一个java工程、jdk、tomcat、mysql使用ins......
  • Spring线程池
    介绍本文介绍如何使用Spring中的线程池。bean配置[codesyntaxlang="xml"]<beanclass="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"><proper......
  • Java开发成长之路第二年
    •介绍•深入注解•深入Java集合java.util.Queue<E>java.util.Deque<E>java.util.RandomAccess该接口没有定义任何方法。java.util.concurrent.ConcurrentMap<String,......
  • javadoc转word流程
    介绍在java开发中,结项时遇到乙方需要项目的word文件存档、装订时,就需要将整个工程生成word格式的文档参考步骤1.到http://www.filigris.com/downloads/,下载DocFlex/Doclet......
  • 将eclipse生成的javadoc制作为CHM文档
    介绍使用EasyCHM将eclipse生成的javadoc制作为CHM文档,这样就可以像看电子书一样来预览项目内容准备工作1、下载EasyCHM软件使用eclipse生成javadoc文件 制作流程1、利用ec......