行业门户网站大全wordpress ftp上传

pingmian/2026/1/25 9:07:32/文章来源:
行业门户网站大全,wordpress ftp上传,平面设计是什么专业学的,线上平台怎么推广如何避免Java死锁#xff1f; 是Java面试中最受欢迎的问题之一#xff0c;也是本季多线程的风格#xff0c;主要是在高层提出#xff0c;并带有很多后续问题。 尽管问题看起来很基础#xff0c;但是一旦您开始深入研究#xff0c;大多数Java开发人员就会陷入困境。 面试… 如何避免Java死锁 是Java面试中最受欢迎的问题之一也是本季多线程的风格主要是在高层提出并带有很多后续问题。 尽管问题看起来很基础但是一旦您开始深入研究大多数Java开发人员就会陷入困境。 面试问题始于“什么是僵局” 当两个或多个线程正在等待彼此释放所需的资源锁定并无限期陷入困境时答案很简单这种情况称为死锁。 它只会在多任务 或多线程的情况下发生。 如何检测Java中的死锁 尽管这可能会有很多答案但我的版本是如果我看到一个嵌套的同步块或从另一个调用一个同步方法或者试图锁定另一个对象那么我将看一下代码那么很有可能发生死锁如果开发人员不是很谨慎。 另一种方法是在运行应用程序时实际上陷入僵局时找到它尝试进行线程转储在Linux中您可以通过“ kill -3”命令执行此操作这将在应用程序日志文件中打印所有线程的状态您可以看到哪个线程锁定在哪个对象上。 您可以使用fastthread.io之类的工具来分析该线程转储该工具允许您上载线程转储并进行分析。 另一种方法是使用jConsole / VisualVM 它将确切显示正在锁定的线程以及在哪个对象上。 编写Java程序会导致死锁 一旦回答了前面的问题他们可能会要求您编写代码这会导致Java死锁 这是我的版本之一 /*** Java program to create a deadlock by imposing circular wait.* * author WINDOWS 8**/ public class DeadLockDemo {/** This method request two locks, first String and then Integer*/public void method1() {synchronized (String.class) {System.out.println(Aquired lock on String.class object);synchronized (Integer.class) {System.out.println(Aquired lock on Integer.class object);}}}/** This method also requests same two lock but in exactly* Opposite order i.e. first Integer and then String. * This creates potential deadlock, if one thread holds String lock* and other holds Integer lock and they wait for each other, forever.*/public void method2() {synchronized (Integer.class) {System.out.println(Aquired lock on Integer.class object);synchronized (String.class) {System.out.println(Aquired lock on String.class object);}}} } 如果method1和method2都将被两个或多个线程调用则死锁的可能性很大因为如果线程1在执行method1时获得Sting对象的锁而线程2在执行method2时获得Integer对象的锁 都将互相等待以释放对Integer的锁定 而String继续进行下去这将永远不会发生。 此图准确地演示了我们的程序其中一个线程在一个对象上持有一个锁然后等待另一线程持有的其他对象锁。 您会看到线程1想要锁定对象2的锁该对象2由线程2持有而线程2想要锁定对象1的锁该对象1由线程1持有。由于没有线程愿意放弃因此存在死锁并且线程2 Java程序被卡住。 如何避免Java死锁 现在面试官进入最后一部分在我看来这是最重要的部分。 您如何解决代码中的死锁 或如何避免Java中的死锁 如果您仔细查看了上面的代码那么您可能已经发现造成死锁的真正原因不是多个线程而是它们请求锁定的方式如果您提供有序访问那么问题将得到解决。 这是我的固定版本它通过无效循环的循环等待来避免死锁 而没有抢占 这是需要死锁的四个条件之一。 public class DeadLockFixed {/*** Both method are now requesting lock in same order, first Integer and then String.* You could have also done reverse e.g. first String and then Integer,* both will solve the problem, as long as both method are requesting lock* in consistent order.*/public void method1() {synchronized (Integer.class) {System.out.println(Aquired lock on Integer.class object);synchronized (String.class) {System.out.println(Aquired lock on String.class object);}}}public void method2() {synchronized (Integer.class) {System.out.println(Aquired lock on Integer.class object);synchronized (String.class) {System.out.println(Aquired lock on String.class object);}}} } 现在将没有任何死锁因为这两个方法都以相同的顺序访问Integer和String类文字的锁。 因此如果线程A获得了对Integer对象的锁定则线程B直到线程A释放Integer锁定后才会继续进行即使线程B持有字符串锁线程A也不会被阻塞因为现在线程B不会期望线程A释放整数锁可继续进行。 感谢您阅读本文。 如果您喜欢这篇文章请与您的朋友和同事分享。 如果您有任何疑问或反馈请留言。 翻译自: https://www.javacodegeeks.com/2018/08/avoid-deadlock-java-threads.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做美食推广的网站wordpress添加主题提示缺少文件

电感器 文章目录 电感器1、概述2、电感器的时间常数3、电感器示例1 电感器是一种由线圈组成的无源电气元件,其设计目的是利用电流通过线圈而产生的磁力和电力之间的关系。 1、概述 在本中,我们将看到电感器是一种电子元件,用于将电感引入到电…

电子商务网站建设的案例分析题wordpress 皮肤

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. 运行流程实例2.1 查询流程定义2.2 启动流程2.3 任务查询2.4 审批3. 数据表1. 前言…

房山建设网站企业网站建设及维护费用

原文链接地址:http://www.cnblogs.com/killmyday/archive/2009/09/26/1574311.html 我曾经问过很多人,你一般是怎么调试你的程序的? F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序&…

北京网站平台开发适合个人做的跨境电商

1. 通信技术和标准化领域中扮演重要角色的组织 1.1 国际和国家官方标准化机构 OSI:国际标准化组织(ISO),负责国际标准的制定,旨在确保全球产品和服务的安全性、可靠性和效率。它有许多国家分支机构,包括法…

响应式设计网站怎么做聊城哪有做网站的

Linux目录详解: 目录名说明/bin重要的二进制 (binary) 应用程序:包含二进制文件,系统的所有用户使用的命令都在这个目录下/boot启动 (boot) 配置文件:包含引导加载程序相关的文件,开机时用到的引导文件/data数据存储区…

找合伙人的网站做淘宝代理服务器地址是什么意思

一、应用背景 目前,针对审计行业,关于大数据技术的相关研究与应用一般包括大数据智能采集数据技术、大数据智能分析技术、大数据可视化分析技术以及大数据多数据源综合分析技术。其中,大数据智能采集数据技术是通过网络爬虫或者WebService接…

php网站有点seo整站优化哪家专业

名人说:莫愁千里路,自有到来风。 ——钱珝 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、函数的概念与定义①函数的概念②函数的具体定义③多返回值 2、函数参数与作用域①可变参数②形…

住房城乡建设部网站通报徐州网络推广服务

在之前的文章里,介绍了比较传统的K-Means聚类、Affinity Propagation(AP)聚类、比K-Means更快的Mini Batch K-Means聚类以及混合高斯模型Gaussian Mixture Model(GMM)等聚类算法,今天介绍一个比较近代的一类算法——Spectral Clustering 中文通常称为“谱…

asp网站怎么改成中英双语彩票网站做维护是什么

http://www.microsoft.com/downloads/details.aspx?displaylangzh-cn&FamilyIDd95598d7-aa6e-4f24-82e3-81570c5384cb#filelist 这是什么?*** 转载于:https://www.cnblogs.com/zxsoft/archive/2008/02/17/1071038.html

河南外贸网站制作迅当网络深圳外贸网站建设

具体程序代码如下,主要问题就是不管我怎么调整参数,最终的预测结果都没有太大的变化,还请了解这两大算法的帮忙看看问题出在哪里了,十分感谢!tic;close all;clear;clc;format compact;load M2.mat %载入数据% 提取数…

什么网站可以做软件网站开头flash怎么做

字符串类型特点 Redis的字符串类型是一种简单而灵活的数据结构,其特点如下: 任意数据类型: 字符串类型可以存储任意数据,包括文本、二进制数据等。直接访问和修改: 可以直接通过键名访问和修改整个字符串,而不需要像其他数据结构…

红安建设局官方网站wordpress 网页模块错位

数据结构-堆的实现及应用[堆排序和TOP-K问题] 一.堆的基本知识点1.知识点 二.堆的实现1.堆的结构2.向上调整算法与堆的插入2.向下调整算法与堆的删除 三.整体代码四.利用回调函数避免对向上和向下调整算法的修改1.向上调整算法的修改2.向下调整算法的修改3.插入元素和删除元素函…

关于网站建设管理的通知小程序外包公司

目录 1. 响应式数据 2. v-model 指令 3. 实现原理 4. 总结 Vue.js 是一款流行的前端 JavaScript 框架,它以其强大的双向数据绑定能力而闻名。双向数据绑定使得数据在视图和模型之间保持同步,并且任一方的变化都会自动反映到另一方。那么,…

免费做网站怎么做网站619百度网站收入

https://blog.csdn.net/jinping_shi/article/details/52433975转载于:https://www.cnblogs.com/zyber/p/9257843.html

毕设做购物网站系统的原因wordpress全局变量

ln命令 ln是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。 当我们需要在不同的目录,用到相…

营销型企业网站建设规划探讨泰州网站建设策划方案

前言 上一篇文章我们讲了在pytest中测试用例的命名规则,那么在pytest中又是以怎样的顺序执行测试用例的呢? 在unittest框架中,默认按照ACSII码的顺序加载测试用例并执行,顺序为:09、AZ、a~z,测试目录、测…

建站公司排名 软通网站群建设技术规范

-天池龙珠计划SQL训练营 SQL训练营页面地址:https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 视图 我们先来看一个查询语句(仅做示例,未提供相关数据) SELECT stu_name FROM view_students_info;单从表面上看起来…

黄页88网站网络营销推广方式包括哪几种

1. ES6的解构ES6中引入了解构赋值的操作,其作用是:将值从数组Array或属性从对象Object提取到不同的变量中即分为两种情况:从数组Array中解构,以及从对象Object中解构①.从数组中解构const [a, b] [1, 2]//a 1, b 2当然这些是基…

社区智慧警务网站如何推进警务室建设方案网站推广手段有哪些

深度学习 | TCN时间卷积神经网络模型答疑 目录 深度学习 | TCN时间卷积神经网络模型答疑问题汇总问题回答参考资料问题汇总 1.使用 TCN 进行序列建模有哪些优势? 2.TCN 的特征? 问题回答 1.使用 TCN 进行序列建模具备以下优势: 并行性。与 RNN 中后继时间步长的预测必须等待…

如何跟客户沟通网站建设做网站还有搞头吗

GO 中的方法是什么? 前面我们有分享到 GO 语言的函数,他是一等公民,那么 GO 语言中的方法和函数有什么区别呢? GO 语言中的方法实际上和函数是类似的,只不过在函数的基础上多了一个参数,这个参数在 GO 语…