V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sibowen  ›  全部回复第 2 页 / 共 2 页
回复总数  33
1  2  
2022-12-14 17:53:34 +08:00
回复了 zong400 创建的主题 Go 编程语言 channel 的关闭时机
```golang

import (
"fmt"
"io/ioutil"
"os"
"sync"
)

var DirPrefix string

func main() {
DirPrefix, _ = os.Getwd()
DirPrefix += "/dir/"
var wg sync.WaitGroup
objchan := make(chan string, 10)
wg.Add(1)
go func(och <-chan string) {
defer wg.Done()
for objs := range och {
fmt.Println(objs)
}
}(objchan)

wg.Add(1)
go func(och chan string) {
defer wg.Done()
var wgDir sync.WaitGroup
for _, perfix := range []string{"test", "tc"} {
wgDir.Add(1)
go GetFile(perfix, och, &wgDir)
}
wgDir.Wait()
close(objchan)
}(objchan)
wg.Wait()
}

func GetFile(dir string, fileChan chan string, wg *sync.WaitGroup) {
defer wg.Done()
// send files
dirNow := DirPrefix+dir
files, _ := ioutil.ReadDir(dirNow)
// 子目录递归
for _, v := range files {
filePath := DirPrefix+dir+"/"+v.Name()
if IsDir(filePath) {
wg.Add(1)
go GetFile(filePath, fileChan, wg)
} else {
fileChan <- filePath
}
}
}

func IsDir(path string) bool{
s, err := os.Stat(path)
if err != nil {
return false
}
return s.IsDir()
}

```

把读取文件的操作包装到单独的协程里;
在读取操作完成后,close chan ;
试试上面这段。
话说,之前不是说有个阿兹夫定,说是可以治疗新冠来着。为啥没人提了
搞两个系统,a 刷的时候,b 监控&备份; b 刷的时候,a 监控&备份。瞎猜的
2022-10-25 16:35:22 +08:00
回复了 lookStupiToForce 创建的主题 程序员 不会前端的后端如何优雅地开发个人项目?
@cokepro mark
@HanSonJ 兄弟,这项目是已经投入商用了吗?
2022-10-14 20:25:16 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
@wunonglin 单机什么配置?
2022-10-14 20:24:15 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
@mickerwx 一步一步来吧,裸装 k8s 确实东西还是比较多的,容易被劝退。我准备先从使用和开发方面学习,慢慢深入。
2022-10-14 09:37:10 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
@buffzty 大佬这方法不错,抢占式实例,最便宜的规格,确实用起来不心疼。
另外,试了一个一键安装的项目,国人开发,试了下,上手不错 https://github.com/TimeBye/kubeadm-ha
2022-10-13 20:59:37 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
@hunterzhang86 轻量服务器再装 k3s 吗?什么配置?跑起来有压力吗?
2022-10-13 20:07:11 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
@ysicing 这个还没试过,我去体验体验
2022-10-13 20:06:18 +08:00
回复了 sibowen 创建的主题 Kubernetes k8s 的练习环境
感谢各位大佬,试了试 docker-desktop 的 k8s ,用起来挺方便,之前也装了 docker-desktop ,没发现这玩意还能一键安装 k8s 集群。
2022-10-13 18:28:53 +08:00
回复了 sparklee 创建的主题 程序员 甲状腺结节,突然被体检报告打击到
同样体检有,比你的还大。医生告诉我:没事,记得复查就行。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5692 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 01:36 · PVG 09:36 · LAX 17:36 · JFK 20:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.