目錄傳送者 -> (通道(有可能有資料阻塞)) -> 接受者
package main
import (
"fmt"
"time"
)func main()
}()time.sleep(2 * time.second)
//主協程取資料
for i := 0; i < 3; i++
fmt.println("主協程結束")
}
傳送者 -> (通道(資料),(資料)(...)) -> 接受者
func main() {
//建立通道
c := make(chan int, 3)
//1. 將c準換為只寫的通道
var send <- chan int =c
//2. 將c轉為唯讀的通道
var recv <- chan int =c
//往send裡面寫資料
send < -1
//從recv讀資料
<-recv
未完待續... Golang 併發程式設計
目錄傳送者 通道 有可能有資料阻塞 接受者 package main import fmt time func main time.sleep 2 time.second 主協程取資料 for i 0 i 3 i fmt.println 主協程結束 傳送者 通道 資料 資料 接受者 func mai...
golang併發程式設計
在早期,cpu都是以單核的形式順序執行機器指令。c語言 php正是這種順序程式語言的代表,即所有的指令都是以序列的方式執行,在相同的時刻有且僅有乙個cpu在順序執行程式的指令。隨著處理器技術的發展,單核時代以提公升處理器頻率來提高執行效率的方式遇到了瓶頸。單核cpu的發展的停滯,給多核cpu的發展帶...
golang併發程式設計 01
一 併發程式設計模板 func main wg.add 1 go func wg.wait 二 鎖住共享資源 1.原子函式 var counter int64 多個goroutine都會增加其值的變數 如果在goroutine中要對counter執行加法,那麼要用原子操作 atomic.addint...