text文本
1、動态規劃比遞歸快-LeetCode91-解碼方法 2、Linux記憶體描述之記憶體節點node--Linux記憶體管理 3、筆試題—字元串常見的算法題集錦 4、機器學習系列(14)_SVM碎碎念part2:SVM中的向量與空間距離 5、大數運算(7)——大數階乘(求階乘) 6、經典設計模式實戰演練 7、數獨求解算法(回溯法和唯一解法)java實作 8、int和byte之間的轉換 9、matlab讀取資料檔案
package main
import (
"os"
"bufio"
"io"
"fmt"
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
var locker sync.Mutex
file,_:=os.OpenFile("./src/gocode/jt/test",os.O_RDONLY,666)
defer file.Close()
fw:=bufio.NewReader(file)
for i:=1;i<=2;i++{
go func(index int) {
defer wg.Done()
for{
locker.Lock()
str,err:=fw.ReadString('\n')
if err!=nil{
if err==io.EOF{
locker.Unlock()
break
}
fmt.Println(err)
}
time.Sleep(time.Millisecond*200)
fmt.Printf("【協程%d】:%s",index,str)
locker.Unlock()
}
}(i)
}
wg.Add(2)
wg.Wait()
fmt.Println("讀取完成")
}
執行結果:
【協程2】:1、動态規劃比遞歸快-LeetCode91-解碼方法
【協程2】:2、Linux記憶體描述之記憶體節點node--Linux記憶體管理
【協程1】:3、筆試題—字元串常見的算法題集錦
【協程2】:4、機器學習系列(14)_SVM碎碎念part2:SVM中的向量與空間距離
【協程1】:5、大數運算(7)——大數階乘(求階乘)
【協程2】:6、經典設計模式實戰演練
【協程1】:7、數獨求解算法(回溯法和唯一解法)java實作
【協程2】:8、int和byte之間的轉換
【協程1】:9、matlab讀取資料檔案
讀取完成