并发编程
文章平均质量分 94
~千溪杂谈(随风而逝)~
北京交通大学本科
中国科学院硕士
蚂蚁集团-高级技术专家
展开
-
并发/并行编程与分布式系统(2)
一、线程同步 本节以线程模型为例,总结常见线程同步方式。对于变量而言,从范围可以简单分为两种: 线程局部的变量,比如__thread修饰,只被该线程读取或者修改,不存在并发问题,因此也不存在任何一致性问题 非线程局部的变量,如果都是只读的,本身即使多线程,也不存在一致性问题;当同时涉及到写,才需要某种方式来对这些线程进行同步,保证不同的线程访问变量不会获取到无效的值,同时要解决读写、写读、写写冲突。 比如对于写读场景,当一个线程A修改一个变量,另外存在一个线程B需要读取该变量。如果线程A写操作多于一个存原创 2022-02-03 20:00:38 · 1112 阅读 · 0 评论 -
并发/并行编程与分布式系统(1)
一、介绍 现代复杂的软件系统,使用了单台设备/机器或者多台机器资源,包括内存、CPU、IO、存储等等。比如对于大型的数据分析系统,关注以下几个维度: 1. 分布式:容错性、Replication、负载均衡和调度、Consistency等 2. 并行/并发:并行-并发算法、支持并发的数据结构、同步/异步等等 通过分布式/并发/并行编程技术,核心目的就是为了获取更快的计算速度。本文做一些知识的总结 二、体系结构 2.1 von Neumann Architecture 冯·诺依曼架构,是一种将程序指令存储器和原创 2022-02-02 17:41:53 · 943 阅读 · 0 评论