V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  piaodazhu  ›  全部回复第 1 页 / 共 3 页
回复总数  42
1  2  3  
313 天前
回复了 selectAndAction 创建的主题 程序员 有 v 友用 bard 的吗
同样的问题回答得不是很详细,感觉回答风格跟 bing 差不多,都不如 chatgpt 和 claude 。有一些局限性比如不支持中文,但是联网是个优势。
目前推荐在 slack 上用 claude ,除了注册的时候需要用美国节点,平时用甚至不需要梯子。
太强了哥
315 天前
回复了 Reiouf 创建的主题 程序员 Lock-free-Stack 算法探讨
学习了! compare_exchange_weak 和 compare_exchange_strong 还是很不一样的
315 天前
回复了 Reiouf 创建的主题 程序员 Lock-free-Stack 算法探讨
第一个在倒数第二三行之间有可能出现暂时的断链情况?
第二个我也感觉有问题。
你发那个链接里第一个代码倒是可以理解的。
325 天前
回复了 swqslwl 创建的主题 Go 编程语言 请教一个并发设计问题
@piaodazhu 不好意思看错了,B 不在栈上,上面这个请忽略。。。

另外,在 handleData()里面,可以在加锁之后:
fmutex.Lock()
tmp := B
B = make([]flowStatistic, 0)
fmutex.Unlock()
... // processing tmp

可以减少加锁时间,看不能减少或者消除数据丢失?
325 天前
回复了 swqslwl 创建的主题 Go 编程语言 请教一个并发设计问题
在楼主给的第二份代码其实也没有解决上面我提的那个问题,因为 goroutine1 在等待 goroutine2 放锁的时候,它栈里面的变量 B 就是旧的 B (底层指针不会变成你清空后新赋值的指针),所以 goroutine2 的清空操作 goroutine1 在这一次执行中是不可见的。

试试这样修改?
```
var fmutex = sync.Mutex{}
var A = make(chan string, 1048576)
var B_array = make([]flowStatistic,0) // <------
var B = &B // <------

func foo(){
go getData()
go txData()
go handleData()
}

//接受数据
func getData(){
for {
...
addr, err := net.ResolveUnixAddr("unixgram", sock)
conn, err := net.ListenUnixgram("unixgram", addr)
data := conn.ReadFromUnix()
A<-data
}
}

func txData(){
for{
var fs flowStatistic
err := json.Unmarshal([]byte(<-A), &fs) //这里不断解析 A 传过来的数据
...
fmutex.Lock()
*B = append(*B,fs) // <------
fmutex.Unlock()
}
}

func handleData(){
//这里每 5 秒钟对 B 中的数据进行聚合并入库,耗时较多。为了不丢数据,我锁住 B ,处理完后清空 B 中数据并解锁
for{
time.Sleep(5 * time.Second)
fmutex.Lock()
...
*B = make([]flowStatistic,0) // <------
fmutex.Unlock()
}
}
```

感觉大概率是这里的问题
325 天前
回复了 swqslwl 创建的主题 Go 编程语言 请教一个并发设计问题
我就提一个可能,切片 B 扩容,导致这种特殊情况:
时刻 1 ,goroutine1 加锁,用 B=append(B, item)向切片 B 追加一个元素。刚好触发了扩容,B 的底层数组指针发生了转移。即,append 的参数 B 和返回值 B 中的 ptr 不同。
时刻 2 紧接着时刻 1 ,goroutine2 拿到锁,这个时候在 goroutine2 看来,B 只是一个由(size,cap,ptr)构成结构体,它察觉不到 B 底层数组指针的变化,所以看不到 goroutine1 追加的数据。

具体可以检查一下代码。
327 天前
回复了 wxxxcxx 创建的主题 微软 大家的 new bing 都可以用了吗?
退出登录,刷新试试
我今天亲测:右上角退出登录,刷新就可以用了,重新登录也能用。
@buried 之前没考虑到,现在已经临时补上了。
两位前辈实际上是指出了这个并发控制器模块不适用的两种场景:
1. 任务依赖关系简单的场景。这种场景下应该直接串行化解决,不会增加手动管理的复杂度。此外,任务粒度小的场景也不适用,因为并发控制器内部开销相比于小任务自身的执行代价来说是得不偿失的。因此,对于依赖关系简单、任务粒度小的一些任务,可以合并视作一个大任务来解决。
2. 大型系统层面的任务调度的场景。大型系统要保证一个模块崩溃不影响其他模块,使用程序来做这样的保证是不可靠的。所以在这个层面,这个项目是不适用的。但对于大型系统下的小模组获取存在应用的场景。

个人感觉,这个模块的应用层面其实跟 Goroutine 相似,Goroutine 作为一种很强大的机制也是要在一定场景下才能有勇武之地,gotcc 可以作为 Goroutine 在某些场合下的扩展。

欢迎大家多来交流吐槽,相互学习!
@documentzhangx66 多谢前辈指出,学习了🤝
@lesismal 确实,这例子脱裤放屁。README 是在 AI 生成基础上改的,当时没发现,我这就换个例子。。
想到个这个,大家看这样有什么问题不:
1. 定义一个函数 func checkError(err error),函数内检查如果 err!=nil 就 panic(err)
2. 在你业务函数开头写一个 defer func()内部做 recover()
3. 在你业务函数中每次调用后,调用 checkError(err)

这样就不用写那么多`if err != nil { ... `了吧,panic 被捕获时,也能知道发生 err 的是啥。
357 天前
回复了 piaodazhu 创建的主题 程序员 聊聊找大厂暑期实习的一些事
统一回复,B 公司已经发了 Offer ,还是决定去 B 公司。A 公司这边我已经给 HR 发了短信,如实说明找到了其他更契合自己技术栈的岗位,并非常抱歉暑期实习不能去了。感谢 V 友们的建议和分享~
363 天前
回复了 piaodazhu 创建的主题 程序员 聊聊找大厂暑期实习的一些事
V 友说得在理。我就把 A 厂的 offer 同意了,等 B 厂很快给我结果之后,就尽快通知 A 厂 HR 说导师不放人。现在暑期实习招聘阶段还没结束,这样做应该不会给他们工作造成太大困扰。
2022-12-22 09:08:41 +08:00
回复了 coreki 创建的主题 生活 🐑了, 2 天完全恢复
@black0144 怎么样兄弟?🐑了吗?
2022-12-21 11:24:31 +08:00
回复了 coreki 创建的主题 生活 🐑了, 2 天完全恢复
我昨天跟楼主的情况类似,怕冷+头痛+身体酸,坐着都觉得累那种,但是没有发烧或者说没有很明显的发烧,没有去做检测,家里也没有抗原,不知道是不是🐑了。今早上起来昨天的症状消失了,有点鼻塞,嗓子有痰。不知道是普通的感冒还是弱毒,我已经三四个月没有感冒过了
2022-12-15 11:04:50 +08:00
回复了 piaodazhu 创建的主题 Apple 二手维权:沙漏验机助手是否可能误检?
xdm 后续来了:
[转转] 客服消息:您好,亲爱的转转用户您好!您平台介入尾号 4052 订单,根据《转转平台客服介入处理规则》依据买家举证划痕指纹更换有效,属于卖家责任且买家拒签属于有理由拒签,故全程邮费由卖家自行承担,请卖家尽快联系物流召回商品,同时需卖家 7 天内上传正确的收货地址(如卖家逾期未上传退货地址,系统将自动做退款处理,一切损失由卖家自行承担);卖家上传收货地址后,请买家 5 天内上传原发货物流单号,卖家收到商品需先验货再签收,确认商品无误,点击“同意退款”,将钱款退给买家。如卖家无理由拒签所造成的一切损失将由卖家自行承担,如卖家发现商品丢失、损坏、破损等情况请联系物流公司进行索赔,平台将退款给买家,感谢您的配合!

属实是对这个平台心寒了,没有所谓调查和搜证,不结合实际情况,张口就来。

对于验机报告的异常,我现在觉得应该就是沙漏的问题,打算平板拿回来以后走京东延保帮我看看。至于划痕,我把平板拿回来了会对比一下跟我寄出去的时候有无明显破坏痕迹,如果对面真的敢动手脚,我指定请他吃好果汁。
2022-12-14 10:21:22 +08:00
回复了 ryansvn 创建的主题 Apple ios16.2 更新了
播放 b 站部分视频经常有声音但画面黑屏,youtube 经常说出错了点按重试,重启手机又好了,但是用不了一两天又老样子。有升级的小伙伴知道这个 bug 解决了吗?
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4841 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 09:54 · PVG 17:54 · LAX 02:54 · JFK 05:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.