IT书架 本次搜索耗时 0.119 秒,为您找到 1075 个相关结果.
  • 195.channel内部数据结构有了解吗?

    133 2024-01-18 《Golang面试题》
    channel内部数据结构有了解吗? channel内部数据结构有了解吗? 题目来源:Shein 答案: channel内部数据结构主要包含: 环形队列 等待队列(写队列和写队列) 等待gorouine双向链表
  • 250.Map是线程安全的吗?怎么解决并发安全问题?

    133 2024-01-18 《Golang面试题》
    Map是线程安全的吗?怎么解决并发安全问题? 答案: Map是线程安全的吗?怎么解决并发安全问题? 参考解析 题目来源:腾讯 答案: Map不是线程安全的 若想实现map线程安全 方法一:使用读写锁,即map + sync.RWMutex 方法二:使用Go提供的sync.Map
  • 313.GO语言中的协程与Python中的协程的区别?

    133 2024-01-22 《Golang面试题》
    GO语言中的协程与Python中的协程的区别? GO语言中的协程与Python中的协程的区别? 题目来源: python协程特点 单线程内切换,适用于IO密集型程序中,能够最大化IO多路复用的效果。 没法利用多核。 协程间彻底同步,不会并行。不须要考虑数据安全。 关键词yield go协程特点 协程间须要保证数据安全,好比经过channel或锁...
  • 351.golang的锁有了解吗?

    133 2024-01-22 《Golang面试题》
    golang的锁有了解吗? golang的锁有了解吗? 题目来源: 答案:行飞子 golang主要有两种锁:互斥锁 和读写锁 Mutex 可以实现互斥锁,使用互斥锁(Mutex,全称 mutual exclusion)是为了来保护一个资源不会因为并发操作而引起冲突导致数据不准确。 RWMutex可以实现读写锁,每种锁分别对应两个方法,...
  • 452.Go 当中同步锁有什么特点?作用是什么

    133 2024-01-23 《Golang面试题》
    Go 当中同步锁有什么特点?作用是什么 Go 当中同步锁有什么特点?作用是什么 参考解析 当一个Goroutine(协程)获得了Mutex后,其他Goroutine(协程)就只能乖乖的等待,除非该Goroutine释放了该Mutex。RWMutex在读锁占用的情况下,会阻止写,但不阻止读 RWMutex。 在写锁占用情况下,会阻止任何其他Gorou...
  • 372.是否写过go语言多协程内容

    133 2024-01-22 《Golang面试题》
    是否写过go语言多协程内容 是否写过go语言多协程内容 参考解析 题目来源:米哈游 答案: 是否写过go语言多协程内容 协程池用法简单举例 var ( ctx = gctx . New () ) func main () { wg := sync . WaitGroup {} ...
  • 352.go 如何关闭goroutine

    133 2024-01-22 《Golang面试题》
    go 如何关闭goroutine go 如何关闭goroutine 题目来源:小米 答案: 关闭 channel 第一种方法,就是借助 channel 的 close 机制来完成对 goroutine 的精确控制。在 Go 语言的 channel 中,channel 接受数据有两种方法:msg := <-chmsg, ok := <-c...
  • 535.Go channel有无缓冲的区别?

    132 2024-01-25 《Golang面试题》
    Go channel有无缓冲的区别? Go channel有无缓冲的区别? 参考解析 无缓冲:一个送信人去你家送信,你不在家他不走,你一定要接下信,他才会走。 有缓冲:一个送信人去你家送信,扔到你家的信箱转身就走,除非你的信箱满了,他必须等信箱有多余空间才会走。 无缓冲 有缓冲 创建方式 make(chan TYPE)...
  • 463.Go 语言是如何实现切片扩容的?

    132 2024-01-24 《Golang面试题》
    Go 语言是如何实现切片扩容的? Go 语言是如何实现切片扩容的? func main () { arr := make ([] int , 0 ) for i := 0 ; i < 2000 ; i ++ { fmt . Println ( "len为" , len ( arr ), "...
  • 531.Go channel为什么是线程安全的?

    132 2024-01-25 《Golang面试题》
    Go channel为什么是线程安全的? Go channel为什么是线程安全的? 为什么设计成线程安全? 不同协程通过 channel 进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全 如何实现线程安全的? channel 的底层实现中, hchan 结构体中采用 Mutex 锁来保证数据读写安全。在对循环数组 ...