写点什么

死锁

0 人感兴趣 · 29 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/b5/b5156e55ce941210f693e1d17c069b4c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

如何设计一组会出现死锁 (Deadlock) 的 ABAP 程序

本文首先从计算机专业课上学习的死锁概念出发,先后给出了用 Java 和 ABAP 两种编程语言编写一个会触发死锁的简单程序,通过实战帮助大家加深对死锁这个概念的理解。最后给出了如何使用 JDK 自带的 jstack 这个工具来检测自己 Java 程序中潜在的死锁隐患。

https://static001.geekbang.org/infoq/15/154e0a74f055c8849b621b78ee2b4926.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

死锁检测实现

用户头像
C++后台开发
2022-09-24

  在工作项目使用多进程、多线程过程中,因争夺资源而造成一种资源竞态,所以需加锁处理。如下图所示,线程A想获取线程B的锁,线程B想获取线程C的锁,线程 C 想获取线程D的锁, 线程D想获取线程A的锁,从而构建了一个资源获取环,当进程或者线程申请的锁处

https://static001.geekbang.org/infoq/49/498a7e4fb0e30d28be3a8dd96d01c882.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

库调多了,都忘了最基础的概念 -《死锁与范式的碰撞》

用户头像
知识浅谈
2022-09-11

库调多了,都忘了最基础的概念-《死锁与范式的碰撞》

https://static001.geekbang.org/infoq/8c/8c9143eb02afb0d85bd48eba5a97116e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

开源一夏 | Python 并发编程之死锁

用户头像
宇宙之一粟
2022-08-24

在并发编程中,死锁指的是一种特定的情况,即无法取得进展,程序被锁定在其当前状态。在大多数情况下,这种现象是由于不同的锁对象(用于线程同步)之间缺乏协调,或者处理不当造成的。在这一节中,我们将讨论一个思想实验,通常被称为餐饮哲学家问题,以说明

https://static001.geekbang.org/infoq/68/68d13337198731af98677483c286c161.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

这不会又是一个 Go 的 BUG 吧?

用户头像
捉虫大师
2022-06-21

hello,大家好呀,我是小楼。

高并发场景下优化加锁方式:线程等待与通知机制

很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢?

Java 有了 synchronized,为什么还要提供 Lock

在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢?

https://static001.geekbang.org/infoq/91/9184bc5ba5f0b7639c7df9e971798750.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

MySQL 的死锁系列 - 锁的类型以及加锁原理

关于 MySQL 死锁,这几天一直在查阅相关资料,总结出一个系列文章供大家参考。本篇是上篇,主要介绍 MySQL 加锁原理和锁的不同模式或类型的基本知识。后续会讲解常见语句的加锁情况和通过 MySQL 死锁日志分析死锁原因。

https://static001.geekbang.org/infoq/9c/9cdbf32fd83d25ca8ea57ebea033aa10.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

使用 JDK 自带的工具 jstack 找出造成运行程序死锁的原因

用户头像
Jerry Wang
2021-12-18

Java多线程编程也是Java面试中经常考察的内容。刚接触Java多线程编程的朋友们,可能会不慎写出一些会导致死锁(deadlock)的应用出来。如何分析造成Java多线程的原因呢?很多时候我们在怀疑造成死锁的语句设置断点,单步调试,反而又不能重现了。

https://static001.geekbang.org/infoq/45/45e961b1b8ad4b0d1eb24901fbce0891.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

使用 ABAP 编程实现对微软 Office Word 文档的操作

用户头像
Jerry Wang
2021-12-05

SAP ABAP里提供了一个标准的类CL_DOCX_DOCUMENT,提供了本地以".docx"结尾的微软Office word文档的读和写操作。

https://static001.geekbang.org/infoq/0c/0ccce5aa261ea684b95963f5cc0df203.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

MySQL 打印死锁日志

用户头像
Simon
2021-11-15

在 MySQL 运维过程中,难免会遇到 MySQL 死锁的情况,一旦线上业务日渐复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。本篇文章我们一起来看下 MySQL 的死锁日志。

死锁是如何工作的

用户头像
卢卡多多
2021-11-08

好多面试的时候,都会遇到一个比较难得话题,死锁,既考虑业务的逻辑关系,也要考虑自己对于死锁理解的能力,

4 种 Golang 并发操作中常见的死锁情形

​​摘要:什么是死锁,在Go的协程里面死锁通常就是永久阻塞了,你拿着我的东西,要我先给你然后再给我,我拿着你的东西又让你先给我,不然就不给你。我俩都这么想,这事就解决不了了。

https://static001.geekbang.org/infoq/0b/0b500051b0daedab2a2d5465f9019093.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

死锁终结者:顺序锁和轮询锁!

用户头像
王磊
2021-08-28

死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁。

剖析 6 个 MySQL 死锁案例的原因以及死锁预防策略

用户头像
北游学Java
2021-04-14

MySQL 死锁是面试常问问题,金三银四,所以最近面试相关的文章比较多,本文章是总结的一波死锁问题,和大家分享一下。

https://static001.geekbang.org/infoq/24/2436b7c559691853f424cfbcda9645d8.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面试官:什么是死锁?怎么排查死锁?怎么避免死锁?

用户头像
小林coding
2021-04-01

突然发现我的图解系统缺了「死锁」的内容,这就来补下。

https://static001.geekbang.org/infoq/9f/9fd461f2e97b386dd75239b216c71de7.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

MySQL 锁等待与死锁问题分析

用户头像
Simon
2021-03-30

在 MySQL 运维过程中,锁等待和死锁问题是令各位 DBA 及开发同学非常头痛的事。出现此类问题会造成业务回滚、卡顿等故障,特别是业务繁忙的系统,出现死锁问题后影响会更严重。本篇文章我们一起来学习下什么是锁等待及死锁。

https://static001.geekbang.org/infoq/10/1055966776ca0f1e796032f47bce99cc.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

夺命剪刀脚(死锁)

用户头像
Arvin
2021-03-11

有多个进程竞争共享资源而引起进程不能向前推进的僵死状态称为死锁。

LiteOS:SpinLock 自旋锁及 LockDep 死锁检测

摘要:除了多核的自旋锁机制,本文会介绍下LiteOS 5.0引入的LockDep死锁检测特性。

死锁问题

用户头像
武哥聊编程
2021-01-31

微信搜索:武哥聊编程。关注我,每天一起进步。

MySQL 5.6.35 索引优化导致的死锁案例解析

本文描述了在一次压测过程中,由于Index Merge优化导致的死锁,详细描述了死锁产生的原因以及解决方案,并顺便介绍了Mysql索引结构及加锁机制。通过本文,大家可以掌握死锁分析的基本理论和一般方法,为工作中快速解决实际出现的死锁提供思路。

https://static001.geekbang.org/infoq/c2/c2cabdb6afae87263a1759ccd7621c02.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Java 并发编程实战(4)- 死锁

用户头像
技术修行者
2021-01-15

在这篇文章中,我们主要讨论一下死锁及其解决办法。

https://static001.geekbang.org/infoq/24/2405f26d4d3225032836d180b1600eee.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一文学会 Java 死锁和 CPU 100% 问题的排查技巧

用户头像
AI乔治
2021-01-13

要排查和解决死锁,首先思考三个问题:

仅 4 步,就可通过 SQL 进行分布式死锁的检测与消除

摘要:本文主要介绍在 GaussDB(DWS) 中,如何通过 SQL 语句,对分布式死锁进行检测和恢复。

https://static001.geekbang.org/infoq/e6/e6c0845ca1955549d8c45398cf3a75c8.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

手把手教你分析 Mysql 死锁问题

发生死锁了,如何排查和解决呢?本文将跟你一起探讨这个问题

什么是死锁?如何解决死锁?

用户头像
古月木易
2020-08-11

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。产生死锁的原因,主要包括:

https://static001.geekbang.org/infoq/98/98774d2cd1bc038167b91dab355d1354.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

troubleshoot 之: 用 control+break 解决线程死锁问题

用户头像
程序那些事
2020-08-08

如果我们在程序中遇到线程死锁的时候,该怎么去解决呢?

解决死锁的 4 种基本方法(建议收藏)

用户头像
小吴选手
2020-07-06

解决死锁的4种基本方法(文末有惊喜)

死锁_死锁技术文章_InfoQ写作社区