摘要: 背景:线程的合作执行,体现的是团结协作,应该是比较理想的状态,如果人人都能够少一些算计、多一点互帮互助,那该有多好啊?班主任不是资本家,班级更应该提倡团队精神,学生之间不应该竞争,应该互相协作!本文以团结协作为出发点,讲解线程的合作执行。 为了适应线程协作的场景,我们需要先搞明白下面的几个关键点: 阅读全文
posted @ 2023-09-02 17:20 jamstack 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 背景:本文是对:go并发编程系列四:线程分组及控制线程的交替执行 的扩展,假定场景基本一致,唯一不同的是:本文中的张三、李四需要按序执行,通俗的讲就是:张三、李四对应的线程虽然同属于一组,但谁的线程先执行,就由谁优先完成班主任规定的一组任务。 拆分为技术片段的话,意味着:张三、李四对应的线程由普通线 阅读全文
posted @ 2023-09-02 16:55 jamstack 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 背景:在上一篇中,作为班主任的你,对班级的管理初见成效,但理想和现实总有差距,理想情况下,从接手一个调皮的班级到班级的管理井井有条,是从0到1的跨越,没有中间的过渡阶段,然而,现实是:班级里少不了调皮的学生,对于这样的情况,应该怎么办呢?这篇文章讲解的正是现实中从0到1的过渡阶段,本文仅以讲解技术为 阅读全文
posted @ 2023-09-02 16:07 jamstack 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 背景:在go并发编程系列二,你作为班主任,接手了有三个学生的班级,现状是这三个学生很调皮,看起来乱糟糟的,三个学生就是三个线程,怎么变的有序呢?答案是:给线程加锁!加锁需要使用go标准包的sync.Mutex,这是一个互斥锁。 给线程加锁的代码: package concurrent import 阅读全文
posted @ 2023-09-02 15:32 jamstack 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 新建concurrent文件夹,在该文件夹下创建concurrent.go,代码如下: package concurrent import ( "fmt" "time" ) func ThreadZhangSan() { for i := 1; i <= 3; i++ { fmt.Println(" 阅读全文
posted @ 2023-09-02 15:20 jamstack 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 在go语言中,使用线程的格式是: go 函数名 当然,你也可以使用匿名函数,我们建立三个线程,代码如下: go test1() go test2() go func() { }() 是不是很简单? 在下一系列中,我们将扩展这三个线程,进一步讲解go的并发编程! TRANSLATE with x En 阅读全文
posted @ 2023-09-02 14:58 jamstack 阅读(74) 评论(0) 推荐(0) 编辑