02 2020 档案

摘要:一、无锁类的原理详解 无锁的概念就是无障碍运行,无障碍是指所有的线程都能进入临界区,无锁在无障碍的基础上加上了一条就是每次竞争必然有一条能够胜出。理论上无障碍有可能线程都失败,所以无锁更切实可行,但实践上无障碍和无锁差不多。 (一)CAS(Compare And Swap) CAS算法的过程是这样的 阅读全文
posted @ 2020-02-21 20:32 海边拾贝seebit 阅读(711) 评论(0) 推荐(0) 编辑
摘要:一、原子性 原子性是指一个操作是不可中断的。即使是在多线程一起执行的时候,一个操作一旦开始,就不会被其它线程干扰。 原子的含义本身就是不可再分的,对于一个不可再分的操作要么就完成,要么就完不成,不会说做一半被另外一个线程给干扰。 一般认为CPU的指令都是一些原子操作,但是像程序代码里的东西就不是原子 阅读全文
posted @ 2020-02-13 18:30 海边拾贝seebit 阅读(217) 评论(0) 推荐(0) 编辑
摘要:一、什么是线程 线程是进程内的执行单元。 通过外部工具可以查看每一个进程所开设的所有的线程。 使用线程间的切换,是因为进程上下文间的切换是一个非常非常重量级的操作,使用多进程去做并行,并发度不可能很高。 线程在进程内更细小的执行单元,所以线程可以被较为广泛的做并发程序的设计。 事实上,如果进程是多线 阅读全文
posted @ 2020-02-12 22:18 海边拾贝seebit 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、并行介绍 1. 为什么需要并行 (1) 业务需要 比方说有一个HTTP的服务器,它要去处理多个客户端的请求。一种比较通常的做法是对每一个客户端请求设置一个线程去做;当然也可以一个线程去处理多个客户端请求,但是需要处理一些多个客户端调度问题,对于代码实现有一些复杂的地方。又比如jvm,当java虚 阅读全文
posted @ 2020-02-02 21:37 海边拾贝seebit 阅读(244) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示