diff --git a/src/advance/concurrency-with-threads/concurrency-parallelism.md b/src/advance/concurrency-with-threads/concurrency-parallelism.md index e8230106..8339c5d9 100644 --- a/src/advance/concurrency-with-threads/concurrency-parallelism.md +++ b/src/advance/concurrency-with-threads/concurrency-parallelism.md @@ -4,7 +4,7 @@ 并行和并发其实并不难,但是也给一些用户造成了困扰,因此我们专门开辟一个章节,用于讲清楚这两者的区别。 -`Erlang` 之父 [`Joe Armstrong`]()(伟大的异步编程先驱,开创一个时代的殿堂级计算机科学家,我还犹记得当年刚学到 `Erlang` 时的震撼,respect!)用一张 5 岁小孩都能看到的图片解释了并发与并行的区别: +`Erlang` 之父 [`Joe Armstrong`]()(伟大的异步编程先驱,开创一个时代的殿堂级计算机科学家,我还犹记得当年刚学到 `Erlang` 时的震撼,respect!)用一张 5 岁小孩都能看懂的图片解释了并发与并行的区别: @@ -19,7 +19,7 @@ ## CPU 多核 -现在的个人计算机动辄拥有十来个核心(M1 Max/Intel 12 代),如果使用串行的方式那真是太低调了,因此我们把各种任务简单分成多个队列,每个队列都交给一个 CPU 核心去执行,当某个 CPU 核心没有任务时,它还能去其它核心的队列中偷任务(真·老黄牛),这样就实现了并行化处理。 +现在的个人计算机动辄拥有十来个核心(M1 Max/Intel 12 代),如果使用串行的方式那真是太低效了,因此我们把各种任务简单分成多个队列,每个队列都交给一个 CPU 核心去执行,当某个 CPU 核心没有任务时,它还能去其它核心的队列中偷任务(真·老黄牛),这样就实现了并行化处理。 #### 单核心并发 diff --git a/src/basic/compound-type/string-slice.md b/src/basic/compound-type/string-slice.md index 06404672..cbab31be 100644 --- a/src/basic/compound-type/string-slice.md +++ b/src/basic/compound-type/string-slice.md @@ -292,8 +292,7 @@ fn main() { s.push('r'); println!("追加字符 push() -> {}", s); - s.push_str("ust!") - ; + s.push_str("ust!"); println!("追加字符串 push_str() -> {}", s); } ``` @@ -675,4 +674,4 @@ for b in "中国人".bytes() { ## 引用资料 -1. https://blog.csdn.net/a1595901624/article/details/119294443 \ No newline at end of file +1. https://blog.csdn.net/a1595901624/article/details/119294443 diff --git a/src/basic/crate-module/module.md b/src/basic/crate-module/module.md index bc97d6f2..eba9d122 100644 --- a/src/basic/crate-module/module.md +++ b/src/basic/crate-module/module.md @@ -261,7 +261,7 @@ mod back_of_house { ## 使用 `self` 引用模块 -`self` 其实就是引用自身模块中的项,也就是说和我们之前章节的代码类似,都调用同一模块中的内容,区别在于之间章节中直接通过名称调用即可,而 `self`,你得多此一举: +`self` 其实就是引用自身模块中的项,也就是说和我们之前章节的代码类似,都调用同一模块中的内容,区别在于之前章节中直接通过名称调用即可,而 `self`,你得多此一举: ```rust fn serve_order() {