V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gantleman  ›  全部回复第 7 页 / 共 9 页
回复总数  179
1  2  3  4  5  6  7  8  9  
2020-07-26 21:11:03 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@Inn0Vat10n 在一个线程里每个任务的执行是连续非中断的。你假设的条件是第一个任务执行一半,然后执行第二个任务,然后再执行剩下一半。其实就变成任何锁只要锁了不释放都必然会阻塞。更准确的说只要嵌套请求锁就有可能因为嵌套的次序不同而阻塞。那么你就是在说 70 年论文对死锁的定义不严谨准确。那么你得到另一个有趣的结论。只要请求锁的嵌套次序都相同就不会死锁。所以循环嵌套也不是死锁的必然条件。

你看好好讨论就会得到一些有趣的结论。这不你又发现了一些奇怪的知识。所以死锁究竟应该如何定义?
2020-07-26 18:33:06 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@SingeeKing
@jinliming2
在单线程里死锁就失去可不可测试随机出现的条件。单线程被阻塞无论黑盒还是白盒跑一遍就发现了。写出有随机性质的需要一定的经验和技巧。
2020-07-26 16:06:25 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@kkbblzq 今天我轻描淡写的说出来,简单的不可思议。但我不光在理论上尝试解决这个问题,还写了一万字的论文和 4 万多行代码的工程和测试用例。我不是万能的,如果在并行计算有类似论文和解决方案也可以推荐给我。都是成年人了,请尽量让自己的回复能够对别人有帮助。
2020-07-26 11:26:52 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@Akiyu 是的没错,打开了一个新世界的大门了吧!任务不光可以拆分还能合并。很多技术细节没办法在一个帖子说清楚的。以后想到什么慢慢说吧。
2020-07-26 10:28:35 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@lance6716 你的意思是减少效率和死锁二选一?我认为多线程应用死锁是必须解决的不是二选一。静态分析不是不可能,静态分析是有前提条件的。
2020-07-26 10:23:39 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@PopRain 先不要急着说不可能,顺序访问只是解决方法之一。有了消息队列和线程池后系统环境和当时写论文的情景已经完全不同了。
2020-07-26 10:16:41 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@WangRicky 如果你有 100 个任务,其中 2 个任务死锁。把这两个任务单独放到你个线程里,剩下 98 个任务分别放的 98 个线程里。对于剩下 98 个任务死锁就不是问题吗?我没有否定线程,我只是否定有死锁条件的线程。我没有说有 2 个任务死锁,剩下的 98 个任务就不分线程。
2020-07-26 09:52:39 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@binux 如果我的理论是错误的,那么必然写不出 pelagia 呀。因为这是 pelagia 的理论基石之一。是不是偷换概念欺世盗名就让代码去说话吧。
2020-07-26 09:35:40 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@binux 套娃啦,这不是一个层面的问题
2020-07-26 09:31:42 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@cmqwan 人如其名的 帅
2020-07-26 09:30:13 +08:00
回复了 gantleman 创建的主题 程序员 我们来为“死锁的四个必要条件”加一条
@codehz 准确的说是在无数个任务中找到可能死锁的任务,并将每组可能死锁的任务都放入一个线程。所以不是一个大锁,是无数个分组的锁。
2020-07-25 11:41:43 +08:00
回复了 baoruizhe 创建的主题 MySQL 关于 mysql 分表存储的问题
查询的部分上 lucene 或 spark 。
2020-07-25 11:06:59 +08:00
回复了 rapperx2 创建的主题 生活 “为什么人到成熟的时候都会变得城府那么深?”
没有被社会毒打和已经被社会毒打的两种生物。
2020-07-24 16:00:05 +08:00
回复了 Logiase 创建的主题 程序员 想知道现在 C/C++是怎么一个学习路线
对语法糖的追求是无穷无尽的毕生事业。
2020-07-24 15:57:45 +08:00
回复了 justNoBody 创建的主题 程序员 问个不痛不痒的问题,代码复查应该在工作时间处理么?
非工作时间做代码复查给加班费不?
2020-07-24 15:40:37 +08:00
回复了 masterDu 创建的主题 Java 《求助》关于搜索条件的技术实现。
搜索框架 Lucene
2020-07-24 15:26:47 +08:00
回复了 KunMinX 创建的主题 程序员 前后端分离示例代码推荐
最初 html 时代是没有前端程序猿的。后端动态调整样式使用服务器过滤的方式。随着 JS,CSS 的流行,后端不再负责前端样式。
2020-07-24 15:17:06 +08:00
回复了 ChrisZou 创建的主题 程序员 代码设计之 Guard clause
逻辑判断是一种条件筛选,目的是处理筛选的结果。
看不懂尽快返回这个判断标准。
也看不出两个例子的区别。
2020-07-24 10:04:49 +08:00
回复了 gantleman 创建的主题 程序员 拯救多线程混乱的 pelagia
@VDimos 目前支撑使用 c,c++,lua 。嵌入 js 也在开发中。
2020-07-23 11:00:52 +08:00
回复了 jimmyismagic 创建的主题 程序员 为什么很多后端程序员认为前端很难学?
个人觉得前端更偏向艺术设计和人机交互。
后端更像机械工程,偏重效率和逻辑结构。
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   885 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 20:28 · PVG 04:28 · LAX 13:28 · JFK 16:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.