可视化学习 Go 并发编程## 可视化学习 Go 并发编程 2017.8.5 黄庆兵 - 网易 bingohuang.com ## 并发 简单来说,并发是一种构造程序的方式  ## Concurrency is not Parallelism Slide (http://talks ents/9/d/7/e/9d7ec6880e87f715ac8d1b4b792dd0b8/p3_1.jpg) 1. 并发很强大 2.并发帮助实现并行,使并行(扩展等)变得容易 3. 并发不是并行,并发重点是架构,并行重点是执行,两者不同,但相关。 ## 可视化 并发(Concurrency) & 并行(Parallelism) 一图胜千言! • 并行(PARALLELISM) html) • 并发(CONCURRENCY) 这是并发 (/2017/go-concurrency-visualize/pingpong36.html) 为什么要关注并发?当今是多核的时代,并发的世界 ## 多核的时代  并发编程并不容易,但0 码力 | 29 页 | 1.48 MB | 2 年前3
1.6 Go并发编程实践 - 晁岳攀Go并发编程实践 晁岳攀 @colobu 微博 http://colobu.com 探探 Gopher China 2019 Agenda 基本同步原语 扩展同步原语 原子操作 Channel 内存模型 ’ alt=‘OCR图片’/> 基本同步原语 ’ alt=‘OCR图片’/> 基本同步原语 Mutex 互斥锁 Mutual exclusion, 任何 公平 零值是未锁状态 Unlock未加锁的Mutex会panic 加锁的Mutex不和这个特定的goroutine关联 非重入锁 ’ alt=‘OCR图片’/> 基本同步原语 Mutex - 初版(2008) export type Mutex struct { key int32; sema int32; } func (m *Mutex) key, -1) == 0 { return; } sys.semrelease(&m.sema); } ’ alt=‘OCR图片’/> 基本同步原语 Mutex 2012年,commit dd2074c8做了一次大的改动,它将waiter count(等待者的数量)和锁标识分开来(内部实现还是合用使用state字段)。新来的goroutine占优势,会有更大的机会获取锁。0 码力 | 82 页 | 16.62 MB | 1 月前3
从高并发到极端并发:百度 Feed 与春晚红包的高可用实践-吴永巍## 从高并发到极端并发: 百度Feed与春晚红包的高可用实践 吴永巍 百度 主任架构师 # TGO鲲鹏会 # 汇聚全球科技领导者的高端社群 全球12大城市 850+高端科技领导者 使命 Mission 为社会输送更多优秀的 科技领导者 ## 愿景 Vision 构建全球领先的有技术背景 优秀人才的学习成长平台  ## 目录 • 春晚项目,技术挑战 - 整体拆解,架构设计 - 各子系统高可用设计 • Feed信息流:常规到极端 全方位工程实践 ## 春晚,极端并发,技术实力最高级别的检验 • 春晚的力量 • 业界技术难题 现场直播,没有重来的机会 - 不仅仅是摇一摇红包 ✓信息流 + 视频 ✓语音 + 搜索 ## 摇一摇红包 ![Image] jpg) ## 春晚项目的技术挑战 • 从 “高并发” 到 “极端并发” • 万一出问题,负面影响不可挽回,需要“万无一失” • 只有短短一个月的准备时间 • 结合AI、推荐、搜索、视频等多项技术,复杂度高 每秒千万级并发 数亿用户参与 208亿次互动 ## 极端并发下的架构设计理念 • 从数万QPS的“高并发”到数千万QPS的“极端并发” √大量的技术沉淀和积累 √针对性的专项设计0 码力 | 28 页 | 58.98 MB | 2 年前3
1.5 Go 语言构建高并发分布式系统实践## go语言并发编程实践 以360消息推送系统为例 周洋 部门:360手机助手 Weibo: @johntech-o Date: 2015.04.25 ## 目录 go语言在基础服务开发领域的优势? 我遭遇了哪些挑战? 如何应对的? 具有go特色的运维 在高并发,通信交互复杂,重业务逻辑的分布式系统中,Go语言优势体现在:开发体验好、一定量级下服务稳定、性能满足需要 ## 以360消息推送系统为例 |08|单播-指定用户在线-发送在线消息\_0|单播 1.用户建立长连接检查状态为在线 2.用单播接口发送在线消息 4.用3.检查用户是否收到消息(预期能收到)|PASS|log||53| ## 总结回顾 go语言在基于并发协作的,重业务逻辑的基础服务方向非常适用 适用 = 开发体验好 + 服务稳定 + 性能满足需要 go语言程序开发需要找到一种平衡,既利用协程带来的便利性又做适当集中化处理 套路 = 按请求和业务逻辑并行0 码力 | 39 页 | 5.23 MB | 2 年前3
Rust 异步并发框架在移动端的应用 - 陈明煜CHINA CONF 2023 第三届中国 Rust 开发者大会 6.17-6.18 @Shanghai # Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 ## 😍 ## Rust 异步并发框架在移动端的应用 Applications of Rust Runtime in Mobile ) //创建100个并发任务,每个任务都会阻塞5秒 (1 to 100).map(i => { println(s"Calling blocking Future: ${i}") Future { //阻塞5秒,模拟I/O阻塞 println(s"Blocking future finished ${i}") } }) //这是另一个并发任务,因为线程被大量I/O阻塞导致这个任务很少有机会得到执行 Future { (1 to 100).map(i => println(s"another a future0 码力 | 42 页 | 9.85 MB | 2 年前3
Real World Go0 码力 | 49 页 | 595.19 KB | 2 年前3
Go读书会第二期Part5 - 语法核心:接口 接口:一切皆组合 • 接口的内部表示 • 接口设计 • 接口与组合 ## Part6 - 语法核心:并发编程 并发:优先考虑并发设计 • 并发设计 vs. 并行设计 • 并发原语的原理与应用模式 • 低级同步原语 (sync 和 atomic) ## Part7 - 错误处理 错误处理:保守与创新 • 错误处理的几种策略 • 优化 if err0 码力 | 26 页 | 4.55 MB | 2 年前3
百度超级链 XuperChain 3.7 中文文档|密码学|用于构造和验证区块、交易的完整性,采用非对称加密算法生成公私钥、地址。匿名性较好。支持可插拔,从而可以支持不同的业务场景| |智能合约|自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言,智能合约之间并发执行,支持执行消耗资源,避免恶意攻击| |提案|一种解决系统升级问题的机制。比如修改区块大小,升级共识算法。提案整个过程涉及到发起提案、参与投票、投票生效三个阶段| |模块|特性| |---|---| 的无状态合约代码执行; 2. 支持执行消耗资源,避免恶意攻击; 3. 支持丰富的智能合约开发语言,比如 go,Solidity,C/C++,Java 等; 4. 利用读写集确保普通合约调用支持并发执行,充分利用计算机多核特性; ### 5. 权限系统 实现一个去中心化,区块链内置的合约账号权限系统。特点如下: 1. 支持多种权限模型,比如背书数、背书率、AK集合、CA鉴权、社区治理等; 交易处理速度:达到9万TPS 1. 默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; ### 8. 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万TPS。 本章0 码力 | 270 页 | 24.86 MB | 2 年前3
共 742 条
- 1
- 2
- 3
- 4
- 5
- 6
- 75













