如何避免多线程死锁?多线程死锁的原因和幸免策略
发布时间:2023-02-27 08:43:20
标签:线程死锁
在多线程编程过程中,不仅仅要解决数据访问的同步与互斥,还要注意多线程的死锁问题,而造成多线程死锁的原因大概可以归咎于系统资源不足、进程推进顺序不当或者资源分配不当等问题。有什么方法可以避免多线程死锁的形成吗?请看下文。
一、死锁原因与形成条件:
死锁形成的原因:
1、系统资源不足;
2、进程(线程)推进的顺序不恰当;
3、资源分配不当。
从编程经验上来讲,形成死锁的一般原因有以下几种:
1、个人使用锁的经验差异。
2、程序模块使用锁的差异。
3、工程代码版本之间的差异。
4、工程代码分支之间的差异。
5、修改代码和重构代码带来的差异。
死锁形成的条件:
1、互斥条件:所谓互斥就是进程在某一时间内独占资源。
2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
3、不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。
4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
二、常见死锁形成的场景
死锁形成的常见情况有以下几种:
1、忘记释放锁:
01void data_process()
02{
03EnterCriticalSection();
04if(/* error happens, forget LeaveCriticalSection */)
05return;
06LeaveCriticalSection();
07}
复制代码
void data_process(){EnterCriticalSection();if(/* error happens, forget LeaveCriticalSection */)return;LeaveCriticalSection();}
0
投稿
猜你喜欢
- mac系统设备的用户可能会遇到提示“未知错误”的情况,mac appstore出现未知错误怎么办呢?下面小编就来教一下大家mac市场错误解决
- 当我们需要离开电脑一段时间,但是为了保护我们的电脑隐私,我们会使用到电脑的锁屏功能。那么Win11如何设置锁屏呢?不太清楚如何操作的朋友们,
- 很多时候,我们的硬盘在使用一段时间后,由于反复写入和删除文件,使得文件不能存在连续的扇区里,降低了磁盘的访问速度。整理磁盘碎片就成为了必要的
- 现在手机都一样可以下载WPS Office软件了,我们可以随时随地都可以做文件了,而且手机做WPS Office文档也一样简单操作就能做出一
- 在日常办公中要求对文档进行双面打印是很常见的,在打印机没有自带双面打印功能的情况下,如何既节约人力成本,又能快速实现双面打印呢?具体情况具体
- Win10 Mobile/PC预览版14946本周推送 很多朋友好奇这次会带来哪些新功能,下面这篇文章就为大家介绍,一起看看吧上
- 批注是为文档某些内容添加的注释信息,包括文字批注或者声音批注。本文将着重介绍添加文本批注的方法。插入批注★将光标定位到要插入批注的位置,或者
- Win10的状态栏怎么设置成透明的?Win10可以让你的电脑有个性化的设置,其中状态栏透明会变得增加的酷炫。那么win10透明任务栏怎么设置
- Word2010怎么批量生成成绩单?word2010中想要快速批量生成相同格式的成绩单,该怎么生成呢?下面我们就来看看word批量生成成绩单
- 由于权限问题暂时关闭防火墙时,系统提示“出于安全考虑,部分设置由系统管理员管理”。我们怎样才能解决这个问题?实际上,您可以清除C:Windo
- excel表格中怎么制作美观大方的帕累托图?excel表格中想要将数据制作成图表该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友
- EXCEL中我们经常要录入大量的数据,有的时候由于固定格式的问题,难免会横向的输入数据,这是该怎么解决呢?下面就跟小编一起看看吧。Excel
- 对U盘文件进行修改,或者删除某个文件时,老是弹出警告框,其实这个警告,就是告诉你你的U盘被设置了写保护,接下来教你如何去掉去掉u盘写保护&n
- 最近有非常多使用华硕笔记本电脑的小伙伴都遇到了一个相似的问题,就是开机后电脑出现了黑屏的情况,且数次重启后仍是无法解决问题,下面小编就来谈谈
- wps怎么制作拼接效果的几何形目录?平时喜欢吃披萨,一块一块的披萨很可口,想要制作这个形状的目录,该怎么制作呢?下面我们就来看看详细的教程,
- 一些驱动如果不是通过自动安装包安装上的,卸载的时候就不能通过卸载程序进行全面卸载,下面为大家介绍下win7手动卸载驱动的乐趣,感兴趣的朋友不
- 蓝牙适配器是各种数码产品能适用于蓝牙设备的一种接口转换器,采用全球通用的短距离无线连接技术的,为避免频段电子装置众多而造成干扰,因此采用保密
- Win10上传速度慢怎么办?由于不少设备都默认设置了20%的上传速度,文件上传太慢便成了困扰诸多用户的难题。那么,Win10 1909上传速
- 近期有部分Win10用户遇到了Win10系统中字体模糊虚化的情况,使其想要看清楚字变得困难,那么有没有什么办法恢复呢?下面小编就给大家分享一
- ①启动Word2013,输入好文字,选中文字,右击,在菜单中选择新建批注。 ②除此之外,还可以直接点击菜单栏--审