V2EX soap520 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    soap520    全部回复第 1 页 / 共 1 页
回复总数  9
20 天前
回复了 Nicklove 创建的主题 Visual Studio Code 你在使用什么颜色主题
vscode red
@Gota 明白了,那我把 stop 最后 close(chData)去掉是不是就行了。去掉之后看起来和你 1L 的方法就差不多了,只是没有重新给 chData 赋值(我也不清楚 slog hook 的用例里需不需要再给 chData 一个 channel )。
如果要很“完美”的话,我除了弄一个锁把 submit 里的 read chDone, enqueue data 保护起来之外想不到更好的办法了。
@Gota 确实,我把 stop 改成这样是不是就可以了。
```
func stop() {
close(chQuit)

for {
select {
case n := <-chData:
_ = n
default:
close(chData)
return
}
}
}
```
```
func submit(n int) error {
select {
case <-chQuit:
return ErrClosed
default:
}

chData <- n
return nil

}

func stop() {
close(chQuit)

for n := range chData {
// process data
_ = n
}

close(chData)
}
```

看看这样行不行,
submit 里面先判断一下 chQuit 是不是已经 close 了。
stop 处理完再 close chData 。

一种可能让人看起来有点担心的执行顺序是,1. submit 里, 判断 chQuit 还没关闭。2. stop 里,执行 close(chQuit)。3. submit 里,接着 chData <- n 。不过应该在你的用例中年问题不大。
2023-07-09 23:12:33 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
godot
tiddlywiki
2022-10-10 21:56:14 +08:00
回复了 beimengyeyu 创建的主题 程序员 如何对比两个 list 的差异
听起来有点像是最小编辑距离。
2021-11-26 23:48:05 +08:00
回复了 WadeLaunch 创建的主题 Go 编程语言 在 Go 的 struct 中使用指针的坑
@soap520 * v 是 sourceList[i] 的一份 copy
2021-11-26 23:47:20 +08:00
回复了 WadeLaunch 创建的主题 Go 编程语言 在 Go 的 struct 中使用指针的坑
for i, v := range sourceList 的 v 是 sourceList 的一份 copy
也许你想写成 rows = append(rows, Row{Id: &sourceList[i].Id, Open: &sourceList[i].Open})
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1113 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 16ms UTC 17:42 PVG 01:42 LAX 09:42 JFK 12:42
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86