首页 > 编程语言 >java 并发(二)

java 并发(二)

时间:2022-09-02 23:23:34浏览次数:69  
标签:优先权 java 反转 并发 死锁 进程 资源

并发问题

  • 数据竞争
  • 死锁
  • 活锁
  • 资源不足(饿死)
  • 优先权反转

数据竞争

死锁

  • 四个条件
    • 资源 只能互斥使用(一个资源每次只能被一个进程使用)
    • 请求者 不剥夺条件(进程已获得的资源,在末使用完之前,不能强行剥夺)
    • 请求与保持条件 (若干进程因请求资源而阻塞时,对已获得的资源保持不放)
    • 循环等待条件 (若干进程之间形成一种头尾相接的循环等待资源关系)
  • 日常开发,怎么避免出现死锁现象
    • 数据库出现死锁
      • 数据更新顺序保持一致(推荐)
      • 不放在同一事务处理(这就需要补偿机制保证数据一致性)
    • jvm出现的死锁
      • 封装到一个类中(也就是使用管程的方式)
      • 无锁的方式(乐观锁去操作)

资源不足(饿死)

  • 使用公平锁呗
  • 或者优化锁,使得尽量公平

优先权反转

当一个低优先权的任务持有了一个高优先级任务所需的资源时,就会发生优先权反转。这样的话,
低优先权的任务就会在高优先权的任务之前执行。

标签:优先权,java,反转,并发,死锁,进程,资源
From: https://www.cnblogs.com/cgengwei/p/16651639.html

相关文章

  • JavaScript 一些实用辅助类库
    "usestrict";var__emptyPoint=null,__emptyContext=null;constColorRefTable=[['aliceblue','#f0f8ff'],['antiquewhite','#faebd7'],['aqua','#00......
  • Java集合---ArrayList
    集合和数组的区别共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的ArrayList的构造方法和添加方法publicArrayList()创建一个空......
  • Java动态性
    Java动态性动态语言程序运行时可以改变程序结构或变量类型。典型动态语言:Python、ruby、javascript等C/C++、Java不是动态语言,但Java可称为“准动态语言”,它有一定动态......
  • 2022.9.2-2022年王建民JAVA课前测试
    石家庄铁道大学2022年秋季  2021级课堂测试试卷(一)(15分)课程名称:JAVA语言程序设计 任课教师:王建民       考试时间:150分钟  一、考试要求:1、按照测......
  • 2022年java第一次随堂测试
    //源代码importjava.util.Scanner;publicclassRoomManagement{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); RoomInformati......
  • Java中this和super的用法总结
    原文:https://www.cnblogs.com/hasse/p/5023392.htmlthis指向对象本身的指针,形参与成员名字重名,用this来区分。super超(父)类对象的一个指针。一、thisthis是自身......
  • Java 并发编程解析 | 如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?
    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头提起Java领域中的锁,是否有种“道不尽红尘奢恋,诉不完人间恩怨“的”感同身受“......
  • Android学习笔记八(JAVA):数据库与Room持久性库,菜单栏,数据绑定
    本篇笔记实现如下所示的功能。在NoteListFragment页面增加了菜单栏,菜单栏中有NewNote选项,点击它跳转到新建Note页面。输入TITLE和CONTENT后,点击CREATE按钮,会在数据库中添......
  • Intellij IDEA 'Error:java: 无效的源发行版:13'
      原文链接:https://blog.csdn.net/liuqiker/article/details/101528205  1,首先亮一下我的IDEA版本:2,我遇上的问题:3,我怎么解决的?1,首先亮一下我的IDEA版本(官网下载......
  • java 内存模型之 volatile 核心原理与应用
    1.happens-before规则https://blog.csdn.net/qq_39935047/article/details/1203847992.Juc12_Volatile的可见性、不保证可见性、有序性、使用、内存屏障四大指令StoreSt......