IT书架 本次搜索耗时 0.103 秒,为您找到 1023 个相关结果.
  • 262.协程实现顺序打印123

    132 2024-01-19 《Golang面试题》
    协程实现顺序打印123 答案: 协程实现顺序打印123 参考解析 题目来源: 答案: package main import "fmt" var one = make ( chan struct {}, 1 ) var two = make ( chan struct {}, 1 ) ...
  • 535.Go channel有无缓冲的区别?

    132 2024-01-25 《Golang面试题》
    Go channel有无缓冲的区别? Go channel有无缓冲的区别? 参考解析 无缓冲:一个送信人去你家送信,你不在家他不走,你一定要接下信,他才会走。 有缓冲:一个送信人去你家送信,扔到你家的信箱转身就走,除非你的信箱满了,他必须等信箱有多余空间才会走。 无缓冲 有缓冲 创建方式 make(chan TYPE)...
  • 538.Go 互斥锁允许自旋的条件?

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

    131 2024-01-25 《Golang面试题》
    Go方法值接收者和指针接收者的区别? Go方法值接收者和指针接收者的区别? 如果方法的接收者是指针类型,无论调用者是对象还是对象指针,修改的都是对象本身,会影响调用者; 如果方法的接收者是值类型,无论调用者是对象还是对象指针,修改的都是对象的副本,不影响调用者; package main import "fmt" type ...
  • 32. 什么是三阶段协议?

    32. 什么是三阶段协议? 事务解决方案的对比总结 32. 什么是三阶段协议? 这个问题,严格来说不属于【分布式事务】相关,考虑到本文已经出现了一阶段提交、二阶段提交,所以这里就瞬时“硬塞”一个三阶段提交。 感兴趣的胖友,可以看看 《数据库 分布式事务 2阶提交 3阶提交》 文章。 事务解决方案的对比总结 总的来说,TCC 和 MQ 都是...
  • 295.两个协程交替打印一个数组,使数组中的数据按顺序输出

    131 2024-01-19 《Golang面试题》
    两个协程交替打印一个数组,使数组中的数据按顺序输出 答案: 两个协程交替打印一个数组,使数组中的数据按顺序输出 参考解析 题目来源:小米 答案: 使用两个channel,一个专门用于通信的 channel,另一个用于输出消息,使用两个协程进行打印数组,一个协程进行数组的访问,也能将此协程改为 main 函数的主协程。下面这种写法在...
  • 106. MongoDB 如何实现高可用?

    130 2024-02-18 《MySQL面试题》
    106. MongoDB 如何实现高可用? 106. MongoDB 如何实现高可用? 和 MySQL 一样,MongoDB 也提供了其复制方案,为实现高可用提供了基础。目前,MongoDB 支持两种复制模式: Master / Slave ,主从复制,角色包括 Master 和 Slave 。 Replica Set ,复制集复制,角色包括 P...
  • 291.go interface的底层实现

    130 2024-01-19 《Golang面试题》
    go interface的底层实现 答案: go interface的底层实现 参考解析 题目来源:拼多多 答案: 在Go语言中interface是一个非常重要的概念,也是与其它语言相比存在很大特色的地方。interface也是一个Go语言中的一种类型,是一种比较特殊的类型,存在两种interface,一种是带有方法的interfac...
  • 552.Go hand off 机制?

    129 2024-01-25 《Golang面试题》
    Go hand off 机制? Go hand off 机制? 参考解析 概念 也称为P分离机制,当本线程 M 因为 G 进行的系统调用阻塞时,线程释放绑定的 P,把 P 转移给其他空闲的 M 执行,也提高了线程利用率(避免站着茅坑不拉shi)。 分离流程 当前线程M阻塞时,释放P,给其它空闲的M处理
  • 432.Go中struct组合与Java继承的区别

    129 2024-01-23 《Golang面试题》
    Go中struct组合与Java继承的区别 答案: Go中struct组合与Java继承的区别 参考解析 题目来源:快手 答案: 两者都是在编译期实现的。Go语言的继承通过匿名组合完成:基类以Struct的方式定义,子类只需要把基类作为成员放在子类的定义中,支持多继承。Java的继承通过extends关键字完成,不支持多继承。 示例...