题目序号:(1909)
题目来源:字节
频次:1
答案1:(peace)
Go语言实现线程安全常用的几种方式:1.互斥锁;2.读写锁;3.原子操作;4.sync.once;5. sync.atomic;6.channel
slice底层结构并没有使用加锁等方式,不支持并发读写,所以并不是线程安全的,使用多个goroutine对类型为slice的变量进行操作,每次输出的值大概率都不会一样,与预期值不一致; slice在并发执行中不会报错,但是数据会丢失。
本文来自投稿,不代表本站立场,如若转载,请注明出处: