IT书架 本次搜索耗时 0.029 秒,为您找到 746 个相关结果.
  • 7.Go 原子操作和锁的区别?

    7.Go 原子操作和锁的区别? 7.Go 原子操作和锁的区别? 原子操作由底层硬件支持,而锁是基于原子操作+信号量完成的。若实现相同的功能,前者通常会更有效率 原子操作是单个指令的互斥操作;互斥锁/读写锁是一种数据结构,可以完成临界区(多个指令)的互斥操作,扩大原子操作的范围 原子操作是无锁操作,属于乐观锁;说起锁的时候,一般属于悲观锁 原子操作存...
  • 297.有没有什么线程安全的办法?

    133 2024-01-20 《Golang面试题》
    有没有什么线程安全的办法? 有没有什么线程安全的办法? 题目来源:字节跳动 答案: 在Go 语言中,线程安全一般指协程安全,因为 Go 一般使用协程进行调度;而 Go 中为了保证其协程安全,有以下几种机制: 1、互斥锁:在 Go 的标准库中有 sync 包,sync.Mutex 就是解决并发冲突导致的安全性问题的一种方式。 2、读写...
  • 538.Go 互斥锁允许自旋的条件?

    132 2024-01-25 《Golang面试题》
    Go 互斥锁允许自旋的条件? Go 互斥锁允许自旋的条件? 参考解析 线程没有获取到锁时常见有2种处理方式: - 一种是没有获取到锁的线程就一直循环等待判断该资源是否已经释放锁,这种锁也叫做自旋锁 ,它不用将线程阻塞起来, 适用于并发低且程序执行时间短的场景,缺点是cpu占用较高- 另外一种处理方式就是把自己阻塞起来,会释放CPU给其他...
  • 414.gmp具体的调度策略

    125 2024-01-23 《Golang面试题》
    gmp具体的调度策略 gmp具体的调度策略 参考解析 答案: Go的调度器内部有三个重要的结构,G(代表一个goroutine,它有自己的栈),M(Machine,代表内核级线程),P(Processor([prɑːsesər]),上下文处理器,它的主要用途就是用来连接执行的goroutine和内核线程的,定义在源码的src/runtime/ru...
  • 组合模式

    组合模式 模式动机 Go语言实现 composite.go composite_test.go 组合模式 模式动机 组合模式统一对象和对象集,使得使用相同接口使用对象和对象集。 组合模式常用于树状结构,用于统一叶子节点和树节点的访问,并且可以用于应用某一操作到所有子节点。 Go语言实现 composite.go package...
  • 406.sync包中的同步原语和channel的使用场景

    123 2024-01-23 《Golang面试题》
    sync包中的同步原语和channel的使用场景 sync包中的同步原语和channel的使用场景 题目来源:七牛 参考《GO 语言并发之道》 参考 http://www.zzvips.com/article/183814.html Go 语言中的channel和临界区都是控制并发的一种手段,谈及并发,谈及并发,我们首先要了解竞争条件:...
  • 57.go 深拷贝发生在什么情况下?切片的深拷贝是怎么做的?

    204 2024-01-17 《Golang面试题》
    go 深拷贝发生在什么情况下?切片的深拷贝是怎么做的? go 深拷贝发生在什么情况下?切片的深拷贝是怎么做的? ** 参考解析 题目来源: 映客,腾讯,北京合链 答案1: 深拷贝,浅拷贝概念 深拷贝(Deep Copy): 拷贝的是数据本身,创造一个样的新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内...
  • 8.阿里云发送短信

    package main import ( "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" "github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi" ) fu...
  • 49.怎么用go实现一个栈

    183 2024-01-16 《Golang面试题》
    怎么用go实现一个栈 怎么用go实现一个栈 题目来源 : 答案1: //一个队列 type MyStack struct { queue [] int } func Constructor () MyStack { return MyStack { q...
  • 259.goroutine为什么比线程开销小,实现原理

    162 2024-01-19 《Golang面试题》
    goroutine为什么比线程开销小,实现原理 goroutine为什么比线程开销小,实现原理 题目来源:SmartX,字节跳动 **答案:**Zbbxd 1.内存占用 从栈空间上, goroutine的栈空间更加动态灵活。每个OS的线程都有⼀个固定⼤⼩的栈内存,通常是2MB,栈内存⽤于保存在其他函数调⽤期间哪些正在执⾏或者临时暂停的函数...