当前位置: 首页 > 网络应用技术

在深度分析中

时间:2023-03-07 16:57:58 网络应用技术

  什么是死锁,Go Corporation中的死锁通常被永久封锁。你抱着我的东西,请我先给你,然后给我。我不会给你。

  代码首先:

  我们可以看到这是没有缓存的管道,然后在其中编写666,然后转到管道上阅读。肯定会有问题!没有人没有放慢能力,您不能写它,您不能写它,不,不一个写作,你看不懂。这是一个僵局!

  解决方案非常简单。打开两个Coroutines,一个Coroutine和一个Coroutine阅读。

  我们可以看到,将数字写入管道后,因为没有人阅读,无法编写管道,并且写作在管道中的操作已被阻止。这次,您有疑问。您不是打开Coroutine吗?但是,在将管道打开后,如果无法将其写入管道中,它将无法打开Coroutine。

  如果对方首先读/写,请自己阅读/写作,则会造成僵局。

  让我们看一下妻子的公司。只要可以阅读哥哥,也就是说,他的妻子有钱,他将发送888的大红色信封。

  她的丈夫再次看着我丈夫的coroutine。只要他有钱,他就会打包妻子的大红色信封。

  双方都说他们没有钱,她的丈夫无法为他的妻子发送红色信封,他的妻子也无法为丈夫发送红色信封。这是一个僵局!

  让我们首先看一下代码:

  如果第一个Coroutine,则仅在第一个编写锁定时才会抓住第一个Coroutine,则不能抓住唯一的读锁,因此,因为其他coroutine未读取,因此无法写下第一个Coroutine

  如果第二个Coroutine首先被抓住以阅读锁,而另一个Coroutine无法抓住唯一的锁,则由于未写下另一个Coroutine,因此无法读取第二个Coroutine。

  作者:Reganyue