This commit is contained in:
github-actions[bot]
2024-08-13 00:15:53 +00:00
parent 420994d26a
commit 24eb7f8fea
159 changed files with 2739 additions and 2739 deletions

View File

@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="zh" class="sidebar-visible no-js light">
<head>
<!-- Book generated using https://github.com/wa-lang/mnbook -->
<!-- Book generated using https://github.com/wa-lang/wabook -->
<meta charset="UTF-8">
<title>竞争条件 - Go语言圣经</title>
<!-- Custom HTML head -->
@@ -12,17 +12,17 @@
<link rel="icon" href="../favicon.svg">
<link rel="shortcut icon" href="../favicon.png">
<link rel="stylesheet" href="../static/mnbook/css/variables.css">
<link rel="stylesheet" href="../static/mnbook/css/general.css">
<link rel="stylesheet" href="../static/mnbook/css/chrome.css">
<link rel="stylesheet" href="../static/mnbook/css/print.css" media="print">
<link rel="stylesheet" href="../static/wabook/css/variables.css">
<link rel="stylesheet" href="../static/wabook/css/general.css">
<link rel="stylesheet" href="../static/wabook/css/chrome.css">
<link rel="stylesheet" href="../static/wabook/css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../static/mnbook/FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../static/mnbook/fonts/fonts.css">
<link rel="stylesheet" href="../static/wabook/FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../static/wabook/fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="../static/mnbook/highlight.css">
<link rel="stylesheet" href="../static/mnbook/tomorrow-night.css">
<link rel="stylesheet" href="../static/mnbook/ayu-highlight.css">
<link rel="stylesheet" href="../static/wabook/highlight.css">
<link rel="stylesheet" href="../static/wabook/tomorrow-night.css">
<link rel="stylesheet" href="../static/wabook/ayu-highlight.css">
<!-- Custom theme stylesheets -->
</head>
@@ -36,15 +36,15 @@
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script type="text/javascript">
try {
var theme = localStorage.getItem('mnbook-theme');
var sidebar = localStorage.getItem('mnbook-sidebar');
var theme = localStorage.getItem('wabook-theme');
var sidebar = localStorage.getItem('wabook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mnbook-theme', theme.slice(1, theme.length - 1));
localStorage.setItem('wabook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mnbook-sidebar', sidebar.slice(1, sidebar.length - 1));
localStorage.setItem('wabook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
@@ -52,7 +52,7 @@
<!-- Set the theme before any content is loaded, prevents flash -->
<script type="text/javascript">
var theme;
try { theme = localStorage.getItem('mnbook-theme'); } catch(e) { }
try { theme = localStorage.getItem('wabook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
@@ -66,7 +66,7 @@
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mnbook-sidebar'); } catch(e) { }
try { sidebar = localStorage.getItem('wabook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
@@ -528,7 +528,7 @@
<div class="sidetoc"><nav class="pagetoc"></nav></div>
<main>
<ul dir="auto"><li><em>凹语言(Go实现, 面向WASM设计): <a href="https://github.com/wa-lang/wa">https://github.com/wa-lang/wa</a></em></li><li><em>MnBook(Go语言实现的MD电子书构建工具): <a href="https://github.com/wa-lang/mnbook">https://github.com/wa-lang/mnbook</a></em></li></ul><hr>
<ul dir="auto"><li><em>凹语言(Go实现, 面向WASM设计): <a href="https://github.com/wa-lang/wa">https://github.com/wa-lang/wa</a></em></li><li><em>WaBook(Go语言实现的MD电子书构建工具): <a href="https://github.com/wa-lang/wabook">https://github.com/wa-lang/wabook</a></em></li></ul><hr>
<h2>9.1. 竞争条件</h2>
<p>在一个线性就是说只有一个goroutine的的程序中程序的执行顺序只由程序的逻辑来决定。例如我们有一段语句序列第一个在第二个之前废话以此类推。在有两个或更多goroutine的程序中每一个goroutine内的语句也是按照既定的顺序去执行的但是一般情况下我们没法去知道分别位于两个goroutine的事件x和y的执行顺序x是在y之前还是之后还是同时发生是没法判断的。当我们没有办法自信地确认一个事件是在另一个事件的前面或者后面发生的话就说明x和y这两个事件是并发的。</p>
@@ -708,10 +708,10 @@ func icer(iced chan&lt;- *Cake, cooked &lt;-chan *Cake) {
<script type="text/javascript">
window.playground_copyable = true;
</script>
<script src="../static/mnbook/mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/mnbook/clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/mnbook/highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/mnbook/book.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/wabook/mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/wabook/clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/wabook/highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/wabook/book.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
var pagePath = "ch9/ch9-01.md"
@@ -719,7 +719,7 @@ func icer(iced chan&lt;- *Cake, cooked &lt;-chan *Cake) {
<!-- Custom JS scripts -->
<script src="../static/mnbook/giscus.js" type="text/javascript" charset="utf-8"></script>
<script src="../static/wabook/giscus.js" type="text/javascript" charset="utf-8"></script>
</body>