zoukankan      html  css  js  c++  java
  • Go并发编程机制

    Gorouting概念

        Gorouting是go语言的并发体
        channel是实现多个Goroutine之间进行通信的机制

        每一个channel都有一个特殊的类型 channel支持的传输的数据类型,指定channel能够在不同的goroutine之间传递什么类型的数据

       创建一个channel
              make(chan int)         创建一个无缓存传递整数类型的channel
              make(chan int,1)      创建一个缓存空间为1的整数类型的channel
              channel分为无缓存和有缓存的 默认创建的是无缓存的
              无缓存的channel写一个数据进去后必须读取之后才能继续写入 没有读取之前会一直处于阻塞状态,无法继续向此channel继续写入数据
              有缓存的channel能连续写入不超过缓存空间的数据,缓存空间没有写满之前是不会阻塞的

     

     有缓存信道channel

     并发实例

     

     

       互斥锁和读写锁
           互斥锁表示无论是读操作还是写操作都会被阻塞 不适合大量读变量的情况
           读写锁表示读操作可以多个同时进行 只有写操作会被阻塞 读写锁的执行效率高于互斥锁

     

  • 相关阅读:
    小程序--获取手机型号
    小程序---换行
    小程序 页面禁止左右上下滑动
    小程序---数据列表 隔行变色
    小程序 视频播放出来的坑
    小程序-----上传图片
    小程序---提交成功弹框
    小程序——Tab切换
    接收请求参数及数据回显
    重定向与转发
  • 原文地址:https://www.cnblogs.com/yxh168/p/12456246.html
Copyright © 2011-2022 走看看