摘要:
Timer的创建 Timer是一次性的时间触发事件,这点与Ticker不同,后者则是按一定时间间隔持续触发时间事件。Timer常见的使用场景如下: 场景1: t := time.AfterFunc(d, f) 场景2: select { case m := <-c: handle(m) case < 阅读全文
摘要:
通道并非用来取代锁,各有不同使用场景。通道解决高级别逻辑层次并发架构,锁则用来保护低级别局部代码安全。●竟态条件:多线程同时读写共享资源(竟态资源)。●临界区:读写竟态资源的代码片段。●互斥锁:同一时刻,只有一个线程能进入临界区。●读写锁:写独占(其他读写均被阻塞),读共享。●信号量:允许指定数量线 阅读全文
摘要:
对于closed或nil通道,规则如下: 无论收发,nil通道都会阻塞。 不能关闭nil通道。 重复关闭通道,引发panic ! 向已关闭通道发送数据,引发 panic! 从已关闭通道接收数据,返回缓冲数据或零值。 nil通道是指没有make的变量。鉴于通道关闭后,所有基于此的阻塞都被解除,可用作通 阅读全文
摘要:
转自:https://studygolang.com/articles/5515 1. 前言 http包包含http客户端和服务端的实现,利用Get,Head,Post,以及PostForm实现HTTP或者HTTPS的请求. 2. 本文分析内容安排 函数 结构 3. 函数 3.1 服务端函数 fun 阅读全文
摘要:
转载自:https://perthcharles.github.io/2015/10/31/wiki-network-tcp-early-retrans/ Early Retransmit(ER)机制的提出主要解决的是在某些特定场景下,没有足够的dupack触发fast retransmit造成的问 阅读全文
摘要:
转载自:https://dev.to/stevensunflash/using-domain-driven-design-ddd-in-golang-3ee5 Using Domain-Driven Design(DDD)in Golang #go#ddd#redis#postgres Domain 阅读全文
摘要:
利用 ebpf sockmap/redirection 提升 socket 性能(2020) 转自:https://arthurchiao.art/blog/socket-acceleration-with-ebpf-zh/ 译者序 本文翻译自 2020 年的一篇英文博客 How to use eB 阅读全文
摘要:
转载自:https://blog.cloudflare.com/sockmap-tcp-splicing-of-the-future/ 转载自:https://www.ctyun.cn/developer/article/418131585904709 1、背景介绍 sockmap是基于ebpf程序 阅读全文
摘要:
从系统cache中查看 tcp_metrics itemip tcp_metrics show tcp_metrics会记录下之前已关闭TCP连接的状态,包括发送端CWND和ssthresh,如果之前网络有一段时间比较差或者丢包比较严重,就会导致TCP的ssthresh降低到一个很低的值,这个值在连 阅读全文