码迷,mamicode.com
首页 > 编程语言 > 详细

线程同步基础之简介

时间:2015-05-03 23:56:52      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:

多个执行线程共享一个资源的情景,是最常见的并发编程情景之一。在并发应用中常常遇到这样的情景:多个线程读或者写相同的数据,或者访问相同的文件或数据库连接。为了防止这些共享资源可能出现的错误或数据不一致,我们必须实现一些机制来防止这些错误的发生。

为了解决这些问题,人们引入了临界区(Critical Section)概念。临界区是一个用以访问共享资源的代码块,这个代码块在同一时间内只允许一个线程执行。

为了帮助编程人员实现这个临界区,Java提供了同步机制。当一个线程试图访问一个临界区时,它将使用一种同步机制来查看是不是已经有其他线程进入临界区。如果没有其它线程进入临界区,它就可以进入临界区;如果已经有线程进入了临界区,它就被同步机制挂起,直到进入的线程离开这个临界区。如果在等待进入临界区的线程不止一个,JVM会选择其中的一个,其余的将继续等待。

后面我们将逐步讲解如何使用Java语句提供的两种基本同步机制:

  • synchronized关键机制;

  • Lock接口及其实现机制;

线程同步基础之简介

标签:

原文地址:http://my.oschina.net/fhd/blog/410194

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