
java 并发和多线程
nokiaisacat
这个作者很懒,什么都没留下…
展开
-
对Akka的初步了解
Akka,多线程,并发,Actors,Erlang,容错原创 2014-07-16 15:41:30 · 1066 阅读 · 0 评论 -
内部锁和同步
内部锁和同步同步是使用被叫做内部锁或者监控锁(intrinsiclock or monitor lock.)的内部实体来实现的。(API文档里面经常简称做monitor)内部锁在同步的两个方面都扮演了重要的角色:强制对一个对象状态的独占性访问,建立“happens-before”关系,happens-before关系对可见性很重要。每个对象都有一个与它相关的内部锁。通常,一个线程需要对一个翻译 2014-06-10 17:45:40 · 1475 阅读 · 0 评论 -
原子访问
原子访问编程中,如果一个操作在事实上是一次性完成的,那就称作原子操作。一个原子操作不可以在中间被中断:它要么一次性完成,要么根本就不会发生,在操作完成之前没有任何可见的副作用。我们已经知道像i++这样的自增操作其实不是一个原子操作,即便是像这么简单的表达式其实是可以被分解为多步的。但是我们的确可以确认一些原子操作:· 对引用的读和写操作,对大多数基本数据类型的读和写操作(翻译 2014-06-11 11:17:47 · 1433 阅读 · 0 评论 -
liveness 生存性/活性
翻译了两篇,这篇就不翻译了,自己写吧。对于线程来说除了安全性,我们还应该重视它的生存性(我觉得翻译成三个字说着比较顺)。 为了保证线程安全,我们往往需要用到同步,但是同步限制了线程的执行,线程必须为了获得共享资源而等待。等待的时间可长可短,这就体现了线程的活跃程度,如果线程只是安全的执行了,而执行的很慢,那并发也就显得不是很必要了。所以除了保证线程的安全以外我们还必须保证线程的活跃。原创 2014-06-11 13:20:28 · 1953 阅读 · 0 评论 -
Java 内存模型
Java的内存模型分为主存储器和工作存储器两种。 主存就是实例位置所在的区域,主存为所有线程锁共用;每个线程都拥有自己独立的作业区,称为工作存储器。 当一个线程需要对某对象的一些字段进行操作时,就会把这些需要的信息从主存储器copy到自己的工作存储器,而这个拷贝就叫做工作拷贝。说到这里大家都可以想象Java是如何保证内存一致的了。主存上面的内容就像是个标准,而每个线程的工作拷贝就像是草原创 2014-06-19 12:56:08 · 779 阅读 · 0 评论