找回密码
 立即注册
首页 业界区 业界 Go红队开发—并发编程

Go红队开发—并发编程

乱蚣 2025-6-9 15:15:23
目录

  • 并发编程

    • go协程

      • chan通道
      • 无缓冲通道
      • 有缓冲通道
      • 创建⽆缓冲和缓冲通道

    • 等协程

      • sync.WaitGroup同步
      • Runtime包

        • Gosched()
        • Goexit()

      • 区别

    • 同步变量

      • sync.Mutex互斥锁
      • atomic原子变量

    • Select
    • Ticker定时器
    • 控制并发数量

      • 核心机制


  • 并发编程阶段练习

    • 重要的细节
    • 端口扫描
    • 股票监控


并发编程

go协程

chan通道

必要条件:
从通道取元素的时候要先关闭通道,程序才知道你不往通道输入了,才能取出元素来进行操作,否则会由于通道没有被关闭,range 操作会一直等待新的数据到来,导致程序陷入死锁状态。
close关闭通道不是必要的,但是如果你不关闭,还一直读取里面的东西的话, 你要保证你有源源不断的内容进入到通道中不能让他处于死锁状态。
[code]//在go中的通道var 变量名 = make(chan 类型)var c = make(chan int)//通道可以给很多数据,取出来的时候可以一个个的pop一样,每次取一个就pop一个c
您需要登录后才可以回帖 登录 | 立即注册