随笔分类 - goroutine并发
            
    TCP协议,UDP,以及TCP通信服务器的文件传输
    
            
            
        
摘要:TCP通信过程 下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。 在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序。注意,数据从一端传到网络的另一端也需要时间,所以图中
        阅读全文
            
        
            
    互斥锁,读写锁和条件变量
    
            
            
        
摘要:锁 前面我们为了解决协程同步的问题我们使用了channel,但是GO也提供了传统的同步工具。 它们都在GO的标准库代码包sync和sync/atomic中。 下面我们看一下锁的应用。 什么是锁呢?就是某个协程(线程)在访问某个资源时先锁住,防止其它协程的访问,等访问完毕解锁后其他协程再来加锁进行访问
        阅读全文
            
        
            
    Channel
    
            
            
        
摘要:channel channel是Go语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 channel是一个数据类型,主要用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题。 goroutine运行在相同的地址
        阅读全文
            
        
            
    golang并发(1)介绍
    
            
    
摘要:概述 简而言之,所谓并发编程是指在一台处理器上“同时”处理多个任务。 随着硬件的发展,并发程序变得越来越重要。Web服务器会一次处理成千上万的请求。平板电脑和手机app在渲染用户画面同时还会后台执行各种计算任务和网络请求。即使是传统的批处理问题--读取数据,计算,写输出--现在也会用并发来隐藏掉I/
        阅读全文
            
        
浙公网安备 33010602011771号