社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
什么是程序?
什么是进程?
+进程是指程序在操作系统中的一次执行过程, 是系统进行资源分配和调
度的基本单位
什么是线程?
最小单元
, 它是比进程主线程
一个进程中除了主线程以外, 我们还可以创建和销毁多个线程
什么是协程?
package main
import "fmt"
func sing() {
for i := 0 ;i < 100 ; i++ {
fmt.Println("我在唱歌")
}
}
func dance() {
for i := 0 ;i < 100 ; i++ {
fmt.Println("-----我在跳舞")
}
}
func main() {
// 需求: 边唱歌边跳舞
// 既然要边唱歌边跳舞, 是不是意味着执行singer函数的时候, 也要执行dance函数
go sing()
go dance()
// 注意点: 开启协程之后, 主线程(进程)不能结束
// 一旦主线程结束了, 那么程序就关闭了, 那么进程就不见了, 那么协程就不会被执行了
for{
;
}
}
package main
import (
"fmt"
"runtime"
)
func sing() {
for i:=0; i< 10; i++{
fmt.Println("我在唱歌")
// Gosched使当前go程放弃处理器,以让其它go程运行。
// 它不会挂起当前go程,因此当前go程未来会恢复执行
runtime.Gosched()
}
}
func dance() {
for i:=0; i< 10; i++{
fmt.Println("我在跳舞---")
runtime.Gosched()
}
}
func main() {
go sing()
go dance()
for{
;
}
}
package main
import (
"fmt"
"runtime"
)
func sing() {
for i := 0;i < 50 ; i++ {
fmt.Println("我在唱歌", i)
if i == 5 {
// 终止调用它的go程。其它go程不会受影响
runtime.Goexit()
}
}
}
func dance() {
for i := 0;i < 50 ; i++ {
fmt.Println("-----我在跳舞", i)
}
}
func main() {
//开启go程
go dance()
go sing()
for {
;
}
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!