码迷,mamicode.com
首页 > 其他好文 > 详细

第1章 介绍

时间:2015-05-11 17:24:29      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:

1. 介绍  

  JVM支持多个线程执行。在Java中由一个叫Thread的类来扮演线程。只有通过这个类的实例来开启一个线程,每个线程都会关联这么一个对象。当这个Thread的实例的start方法被调用时,标志着一个线程会被开启。线程的表现特别是在没有被设置同步时会使人感觉疑惑和不解。本规范会解释在JLS中描述的多线程程序的表,包括在一个共享内存上正在被线程修改的值该显示为多少的规则。在内存模型上本规范和很多硬件架构相似,这些语义在JMM上会被描述。

  这些语义不是描述一个多线程程序应该怎么执行,而是描述多线程程序允许怎么呈现多线程特性。一种多线程的实现必须遵守本规范允许的实现策略。

2. 锁

  有很多线程间交流的机制。大部分都是基于使用监视器的同步机制,每个线程对象都会关联一个监视器来实现占有或释放资源。对于同一个监视器,同一时间只能有一个线程能够占有这个资源,而其他线程只有等上一个线程将改资源释放后才能占有这个资源。一个线程可能会占有一个监视器多次,每个lock操作都会撤销一个unlock操作。synchronized 申明都会被指向某个对象,并企图在这个对象的监视器上加一个锁,这个行为会一直堵塞在这步直到这个行为成功完成。当synchronized 被成功申明后,synchronized的主体会被执行。如果主体被执行完成或者意外退出,unlock这个监视器的行为就会被自动执行。

第1章 介绍

标签:

原文地址:http://www.cnblogs.com/wellmaxwang/p/4494989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!