首页 文章
  • 1 votes
     answers
     views

    了解golang Channels :死锁

    以下代码: package main import ( "fmt" "strings" ) var data = []string{ "The yellow fish swims slowly in the water", "The brown dog barks loudly after a...
  • 2 votes
     answers
     views

    Spring抛出死锁但mysql状态很明显

    Spring Application抛出DeadLock异常:(目标方法使用默认的@Transactional注释进行注释) org.springframework.dao.DeadlockLoserDataAccessException: PreparedStatementCallback; SQL []; Deadlock found when trying to get lock; try ...
  • 75 votes
     answers
     views

    导致死锁的异步/等待示例

    我使用c#的 async / await 关键字(我是c#5.0的新手)遇到了一些异步编程的最佳实践 . 给出的建议之一是: Stability: Know your synchronization contexts ...某些同步上下文是不可重入和单线程的 . 这意味着在给定时间内只能在上下文中执行一个工作单元 . 一个例子是Windows UI线程或ASP.NET请求上下文 . 在这些单线...
  • 12 votes
     answers
     views

    即使在Asp.Net流中使用ConfigureAwait(false)后死锁也是如此

    即使在使用 ConfigureAwait(false) 之后我也遇到了死锁,下面是示例代码 . 根据示例http://blog.stephencleary.com/2012/02/async-and-await.html(#Avoding Context),这不应该是命中死锁 . This is my class : public class ProjectsRetriever { pub...
  • 1 votes
     answers
     views

    在InnoDB中发生死锁后重复事务

    我对如何处理innodb中的死锁感到困惑 . 这是我在网上找到的常见情景: while (some deadlock condition) { try { begin transaction query 1 query 2 // let's assume this one failed with a deadlock ... ...
  • 221 votes
     answers
     views

    如何避免mysql 'Deadlock found when trying to get lock; try restarting transaction'

    我有一个innoDB表记录在线用户 . 它会在用户每次刷新页面时更新,以跟踪他们所在的页面以及他们上次访问网站的日期 . 然后,我有一个每15分钟运行一次以删除旧记录的cron . 我得到了一个'试图锁定时发现的死锁;尝试重新启动事务'昨晚约5分钟,似乎是在运行INSERT到此表时 . 有人可以建议如何避免这个错误? ===编辑=== 以下是正在运行的查询: First Visit to site...
  • 3 votes
     answers
     views

    为什么这是一个死锁(使用InnoDB的MySQL)

    SHOW INNODB ENGINE STATUS向我展示了这个并将其称为死锁: LATEST DETECTED DEADLOCK 100923 22:29:21 * (1) TRANSACTION: TRANSACTION 0 5335752, ACTIVE 0 sec, OS thread id 7992 inserting mysql tables in use 1, locked 1...
  • 9 votes
     answers
     views

    MySQL JDBC:InnoDB死锁后是否有自动重试选项?

    我是Working around MySQL error “Deadlock found when trying to get lock; try restarting transaction” 我发现交易可以安全地重新尝试 死锁并不危险 . 再试一次 . http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html 在选择了另外两...
  • 1 votes
     answers
     views

    使用LOCK TABLES时InnoDB死锁

    我知道InnoDB可以检测并解决行级别的死锁,但是当你使用 LOCK TABLES 时会发生什么? 出于某些原因,我发现 occasionally 更容易锁定整个表而不是找出避免潜在死锁的逻辑 . 所以,我们假设您这样做: LOCK TABLES tableA WRITE, tableB WRITE 现在,两个事务( T1 和 T2 )同时尝试此操作 . 出于某种原因,我们假设 T1 无法获取 ...
  • 0 votes
     answers
     views

    MySQL innodb在更新两个不同的行时死锁

    我有两个不同的更新查询,例如, UPDATE `logins` SET `logoutTime` = NOW() WHERE `userId` = '13' AND `date` = '2018-07-17' UPDATE `logins` SET `logoutTime` = NOW() WHERE `userId` = '79' AND `date` = '2018-07-17' 这导致了...
  • 3 votes
     answers
     views

    pthread_cond_signal导致死锁

    我有一个程序,当其中一个线程调用 pthread_cond_siganl (或广播)时死锁 . 该问题在主程序中可100%重现 . 我无法弄清楚它有什么问题,因此提取了等待和信号调用的代码片段 . 但是,死锁 cannot 可以用提取的问题进行复制 . 在主程序上运行 valgrind 不会报告任何无效的读/写或内存泄漏 . 我想知道在调用 pthread_cond_signal 时死锁的可能原因...
  • 21 votes
     answers
     views

    fork(应该是)在线程程序中对信号处理程序是否安全?

    我真的不确定POSIX在存在线程和信号时对 fork 的安全性的要求 . fork 被列为异步信号安全函数之一,但如果库代码有可能注册了非同步信号安全的 pthread_atfork 处理程序,这是否会否定 fork 的安全性?答案取决于运行信号处理程序的线程是否正在使用atfork处理程序所需的资源?或者换句话说,如果atfork处理程序使用同步资源(互斥体等),但是从一个永远不会访问这些资...
  • 272 votes
     answers
     views

    死锁和活锁有什么区别?

    有人可以用例子(代码)解释 deadlock 和 livelock 之间有什么区别?
  • 1 votes
     answers
     views

    Go:致命错误:所有goroutines都睡着了 - 僵局

    我有一个文本文件,里面只有一行文字 . 我想将所有这些单词分别存储在一个通道中,然后从通道中提取所有这些单词并逐个打印 . 我有以下代码: func main() { f, _ := os.Open("D:\\input1.txt") scanner := bufio.NewScanner(f) file1chan := make(chan string...
  • 0 votes
     answers
     views

    一个基本的Golang流(通道)死锁

    我正在尝试使用go stream,我有一些“愚蠢”的问题 . 我已经完成了一个带有字节限制范围的原始流示例,这里是工作代码,这是我的问题 . 1 - 为什么此代码在新行显示1和2?为什么它不显示12?是否从字节限制流中删除了第一个字节数? (但是当我们已经推出1号码时,我们如何将2号码推入流中?)我无法理解它 package main import "fmt" func ...
  • 1 votes
     answers
     views

    goroutines死锁,需要一些解释

    我想了解Go例程如何在这里工作 . 问题1:go-routine是否从主GO例程/ func继承任何东西? 问题2:还想知道我是否将“hi whats up”发送到msg Channels 中为什么没有收到LINE的常规例程:13 ???? 1 package main 2 3 import "fmt" 4 5 func main() { 6 m...
  • 15 votes
     answers
     views

    为什么我在MySQL中遇到死锁

    我在MySQL表中遇到死锁 . 只涉及一个表,我可以一致地重现它 . 它只发生在我运行代码的多个线程时 . 这是表格: CREATE TABLE `users_roles` ( `role_id` bigint(20) NOT NULL, `user_id` bigint(20) NOT NULL, `created` datetime NOT NULL, PRIMARY KEY ...
  • 3 votes
     answers
     views

    Postgres中的并发查询

    我会尽快描述一下我必须理解这个问题的目的 . 我有用Java开发的大型多线程应用程序 . 每个线程都有硬逻辑来加载,验证和解析文件,然后将这些数据插入数据库 . 也在线程中插入/更新数据库的阶段 . 每个线程运行几个存储过程,更新一个表 . 这些存储过程是每个线程的几个 . 该数据库同时由Web应用程序使用 . 所以你知道我遇到了死锁的问题 . 我尝试了所有的锁模型,但其中任何一个都没有帮助我 ....
  • 1 votes
     answers
     views

    当多个线程试图插入HBase表时,HBase写入被绞死

    我是HBase中的新手 . 我的应用程序使用Kafka使用者(多线程),它们从Kafka读取消息 . 每个消费者从Kafka读取消息,从消息中创建put,创建HBase表并在HBase中执行插入 . 但伙计们,对我来说,有一些阻碍 . 这个流程在一段时间后被绞死 . 我已经附上相同的代码,看看 . public void doBatchInsertionForDeviceTable(List&lt...
  • 0 votes
     answers
     views

    删除关系时避免死锁

    我使用嵌入式neo4j作为Web服务 . 我模型的一部分是这样的: (user)-[HAS_ITEM]->(item) 现在我有几个删除一次进入不同的 users ,但对于一些相同的 items . 我知道如果我执行这些更新,我会遇到死锁,因为当我尝试删除时,Neo4j会锁定节点 . 我见过的推荐策略是订购这些更新,所以我这样做,我需要删除并订购它们的 item 节点列表,所以我总是按照...
  • -1 votes
     answers
     views

    以下哪一项表示由进程调用P操作的无死锁顺序? [关闭]

    三个并发进程X,Y和Z执行三个不同的代码段,用于访问和更新某些共享变量 . 进程X对信号量a,b和c执行P操作(即等待);进程Y对信号量b,c和d执行P操作;进程Z在进入各个代码段之前对信号量c,d和a执行P操作 . 在完成其代码段的执行之后,每个进程在其三个信号量上调用V操作(即信号) . 所有信号量都是二进制信号量,初始化为1 .以下哪一项表示由进程调用P操作的无死锁顺序?(A)X:P(a)P...
  • 0 votes
     answers
     views

    具有主线程支持的 生产环境 者/消费者线程池 - 偶发死锁?

    我有一个C#线程池类,它基于https://stackoverflow.com/a/1656662/782181的 生产环境 者/消费者代码 . 注意:我'm doing this instead of using BlockingCollection because I' m坚持使用.NET2.0! 我在类中添加了一个函数,可以从主线程调用,以允许主线程做一些工作 . 我在这里的想法是,在某些时...
  • 0 votes
     answers
     views

    更新和select命令之间的MYSQL数据库死锁

    我在mysql db中遇到了死锁情况 . 选择查询正在等待更新查询的锁定保持,并且更新查询正在等待select查询的锁定保持 . 我粘贴下面的db死锁日志 . 任何人都可以通过日志告诉我 1)为什么更新命令需要锁定表(server_registry)时只有一个表(service_status) 2)为什么会出现死锁bwteen select和insert命令 . 这两个命令都需要使用不同的锁 . ...
  • 4 votes
     answers
     views

    使用多个DB结果执行MySQL替换为select以使其死锁

    我检查了其他类似的问题,例如堆栈溢出中的“MySQL中的死锁”但没有任何解决办法 . REPLACE INTO db2.table2 (id, some_identifier_id, name, created_at, updated_at) (SELECT id, some_identifier_id, name, created_at, updated_at FROM db1.table1 W...
  • 9 votes
     answers
     views

    Update和Insert查询之间的死锁

    我在Update和Insert查询之间的应用程序中遇到了死锁,我无法理解为什么会以导致死锁的方式给出锁 . Environment- 应用程序 - Django 数据库 - MySQL 5.7 发动机 - Innodb 隔离级别 - READ COMMITTED . 表(为安全而更改名称) - M - 主键 - id MSC - 有M.id的外键 MS...
  • 1 votes
     answers
     views

    Mysql并发更新导致死锁

    将mysql 5.7与存储引擎一起用作innodb . 我有一个存储产品信息的表 . 该表在productId上使用唯一键看起来像这样 | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----...
  • 71 votes
     answers
     views

    访问StackExchange.Redis时出现死锁

    在调用StackExchange.Redis时,我遇到了死锁的情况 . 我不确切知道发生了什么,这是非常令人沮丧的,我希望任何有助于解决或解决此问题的输入 . 万一你也有这个问题,不想读这一切;我建议您尝试将PreserveAsyncOrder设置为false . ConnectionMultiplexer连接= ...;connection.PreserveAsyncOrder = fal...
  • 3 votes
     answers
     views

    InnoDB何时超时而不是报告死锁?

    我有MySQL的“锁定等待超时超时”错误,我无法重现或诊断 . 我确定它是死锁(相反于一个事务 grab 一个锁然后翻转它的拇指),因为我的日志显示另一个进程同时启动,也挂起,然后在第一次超时时继续 . 但通常情况下,InnoDB会在没有超时的情况下检测到死锁 . 所以我试图理解为什么没有检测到这种死锁 . 两个事务都使用隔离级别可序列化 . (我对此隔离级别的InnoDB锁定有一个公平的理解 ...
  • 1 votes
     answers
     views

    SnakeGame:如何处理中断线程和死锁

    大家 . 我正在为一个编程课做一个游戏,这个编程课包含两条相反方向的b蛇 . 他们需要阻挡障碍,我使用协调来不相互对抗 . 这意味着第二个尝试访问一个单元,需要等到第一个解锁单元 . 我已经在这个网站上阅读了很多主题,但我仍然没有找到解决问题的方法 . 现在我已经让蛇全都四处移动并阻挡了障碍物 . 我的两大问题是,我感谢任何帮助,如下: 1-有特定的情况,例如,两条蛇走路并列,当他们试图将方向转向...
  • 6 votes
     answers
     views

    C pthread阻塞队列死锁(我认为)

    我遇到了pthreads的问题,我认为我遇到了僵局 . 我创建了一个我认为正在工作的阻塞队列,但在做了一些测试之后我发现如果我尝试取消阻塞在blocking_queue上的多个线程,我似乎陷入了僵局 . 阻塞队列非常简单,如下所示: template <class T> class Blocking_Queue { public: Blocking_Queue() { ...

热门问题