无分类 使用-C-封装互斥量条件变量 本文使用 C++ RAII 机制来封装互斥量、条件变量,使其自动管理互斥量、条件变量的生命周期,避免手动维护带来的资源泄露等各种问题。本文使用的是 Linux 下 Pthread 库。
java 并发编程系列之深入理解volatile关键字 线程1写:先写入本地内存,在同步到主内存。 线程2读:先读本地内存,不能存在或失效在读主内存。 这种内存结构是基于操作系统的逻辑虚拟出来的结构,并不是真实存在的,可以屏蔽各种硬件和操作系统的差异性,实现平台一致性。而且和jvm的运行时结构也没关联。主内存存储的是实例字段,静态字段和数据对象线程共享的数…
javascript 书籍翻译-JavaScript并发编程第七章-抽取并发逻辑 本文是我翻译《JavaScript Concurrency》书籍的第七章 抽取并发逻辑,该书主要以Promises、Generator、Web workers等技术来讲解JavaScript并发编程方面的实践。
javascript 书籍翻译-JavaScript并发编程第六章-实用的并发 本文是我翻译《JavaScript Concurrency》书籍的第六章 实用的并发,该书主要以Promises、Generator、Web workers等技术来讲解JavaScript并发编程方面的实践。
java 并发编程系列之深入理解Synchronized synchronized的底层是使用操作系统的mutex lock实现的 内存可见性:同步块的可见性是由“如果对一个变量执行lock操作,将会清空工作内存中此变量的值,在执行引擎使用这个变量前需要重新执行load或assign操作初始化变量的值”、“对一个变量执行unlock操作之前,必须先把此变量同步回主内存中(执行store和write操作)”这…
javascript 书籍翻译-JavaScript并发编程第五章-使用Web-Workers 本文是我翻译《JavaScript Concurrency》书籍的第五章 使用Web Workers,该书主要以Promises、Generator、Web workers等技术来讲解JavaScript并发编程方面的实践。
javascript 书籍翻译-JavaScript并发编程第四章-使用Generators实现惰性计算 本文是我翻译《JavaScript Concurrency》书籍的第四章 使用Generators实现惰性计算,该书主要以Promises、Generator、Web workers等技术来讲解JavaScript并发编程方面的实践。完整书籍翻译地址:[链接] 。由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢。
java Java程序员面试跳槽涨薪必备多线程和并发面个阿里P6轻轻松 ThreadLocal 相当于一个容器, 用于存放每个线程的局部变量。 ThreadLocal 实例通常来说都是 private static 类型的。 ThreadLocal 可以 给一个初始值,而每个线程都会获得这个初始化值的一个副本,这样才能保证 不同的线程都有一份拷贝。
java 从入门到放弃ZooKeeperZooKeeper实战分布式队列 上文【从入门到放弃-ZooKeeper】ZooKeeper入门中,我们学习了ZooKeeper的简单安装和cli使用。接下来我们开始基于java API的实战编程。本文先来写一个分布式队列的代码实现。
java 可见性有序性Happensbefore来搞定 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug