最新文章列表

Java synchronized关键字的迷惑

本人之前发的求问贴,希望对大家和对我自己以后有帮助 http://www.iteye.com/problems/96941
zhongyangjian 评论(0) 有369人浏览 2013-09-16 09:43

<基础-2> 构建线程安全应用程序

上一篇主要介绍了程序,进程,线程的概念和区别,进程的组成。然后是线程的创建和基本控制。接着本篇就介绍下什么是线程安全,怎样去保证线程安全的基本方法。 二、 构建线程安全应用程序 2.1 什么是线程安全性 线程安全很难给出一个准确的定义。大都是从不同的方面进行一个描述。当对一个复杂对象进行某种操作时,从操作开始到操作结束,该对象中间肯定会经历若干个非法的中间状态。能保证多线程在使用该对象时,每个开始 ...
足至迹留 评论(0) 有1669人浏览 2013-09-13 22:58

(转)Java中的ReentrantLock和synchronized两种锁定机制的对比

原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html 多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨 ...
yuexiaodong 评论(0) 有836人浏览 2013-09-09 10:49

Synchronized对象加锁防止并发

前言:处理简单的并发可以给对象加把锁,防止不同线程对同一资源同时进行操作,但是也需要谨慎使用"synchronized "关键字。 1、同步锁 package com ...
boonya 评论(0) 有1788人浏览 2013-09-03 23:44

java synchronized详解(个人认为很不错的讲解)

分别锁定this , obj1 , obj2 三个对象 public class Resource2 { int limit = 1000; private Food obj1 = new Food(); private Food obj2 = new Food(); public synchronized void f() {//锁定this for (int i ...
dreamoftch 评论(0) 有4425人浏览 2013-08-15 14:02

Java多线程 - (二) 线程同步synchronized和volatile

一、可能带来死锁的Synchrionized   先用代码来展示下线程同步的问题: /** * */ package com.wsheng.thread.synchronize; /** * @author Wang Sheng(Josh) * */ public class ThreadSynchronized { public static ...
Josh_Persistence 评论(0) 有5465人浏览 2013-08-13 13:42

java synchronized详解

记下来,很重要。 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。      ...
叶_北堂 评论(0) 有487人浏览 2013-08-11 10:48

synchronized(this)与synchronized(class)

   synchronized(class)很特别,它会让另一个线程在任何需要获取class做为monitor的地方等待.class与this做为不同的监视器可以同时使用,不存在一个线程获取了class,另一个线程就不能获取该class的一切实例. 根据下面的代码自行修改,分别验证下面的几种情况: synchronized(class) synchronized(this) ->线程各自 ...
gujian123456 评论(0) 有669人浏览 2013-07-30 14:41

实验java中 synchronized 的使用

实验java中synchronized的使用 1  首先我们创建一个测试类TestSync 在TestSync中创建一个内部类Worker实现Runnable接口 class Worker implements Runnable{ int index = 1; @Override public void run() { int runIndex = index; ...
314649444 评论(0) 有1215人浏览 2013-06-17 10:42

Java 多线程总结

          昨天熬了个通宵,看了一晚上的视频,把java 的多线程相关技术重新复习了一遍,下面对学习过程中遇到的知识点进行下总结。   首先我们先来了解一下进程、线程、并发执行的概念:   进程是指:一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。   线程是指:进程中的 ...
wangqiang6028 评论(5) 有15194人浏览 2013-06-15 13:43

Java中使用synchronized控制线程同步

Java线程之间控制占用临界资源(共享资源)用的最多就是synchronized,首先获得资源访问权的线程给资源对象加锁,使用完毕以后再释放对象锁。例如打印机的例子: public class Printer { public void printLetters(char c) { for(int i = 0; i<5; i++) { System. ...
tonlion2046 评论(0) 有1612人浏览 2013-05-27 20:32

ReentrantLock和synchronized的性能对比

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo8 ReentrantLock和内部锁的性能对比     ReentrantLock是jdk5引入的新的锁机制,它与内部锁(synchronize) 相同的并发性和内存语义,比如可重入加锁语义。在中等或者更高负荷下,ReentrantLock有更好的性能,并且拥有可轮询和可 ...
grefr 评论(0) 有1277人浏览 2013-05-22 09:36

synchronized同步块实例

synchronized同步块实例        在java中,每个对象都包含了一把锁(也叫做“监视器”),它自动成为对象的一部分(不必为此写任何特殊的代码)。在给定时刻,只有一个线程可以拥有一个对象的监视器。        示例:线程1进入withdrawal方法时,获得监视器(加锁);当线程1的方法执行完毕返回时,释放监视器(开锁),线程2的withdrawal方能进入
bijian1013 评论(0) 有1760人浏览 2013-05-19 14:58

java之11天 多线程 (二)

卖票安全问题  //线程出现安全问题啦 !!! 卖出了 0  -1 -2 号票了 class SaleTicket1 implements Runnable{ private int ticks=100; private long time=1000; //加上这个后 就让安全问题 跟明显了 public void run(){ //复写接口中的方法 ,不能抛异常 ,只 ...
Luob. 评论(0) 有1695人浏览 2013-04-14 17:55

多线程-并发与锁

我们讲到多线程,就离不开并发,讲到并发,就离不开安全性,这里我们先来实现一个简单功能能:买票系统   这是票的类,以及买票的方法: public class DBTicket { // 假设存放100张票 private static int num = 100; public static void setNum(int num) { DBTicket.num = nu ...
greemranqq 评论(0) 有1629人浏览 2013-04-11 10:56

Java并发编程(六)--Lock与Synchronized的比较

从代码层角度来说: Lock是基于在语言层面实现的锁,Lock锁可以被中断,支持定时锁,虽然我们总是在一个finally块中释放锁,但是其实我们可以很随意的释放锁,如果安全的话。Synchronized是基于JVM实现的,我们称之为对象的内置锁,Java中的每一个对象都可以作为锁。对于同步方法,锁是当前实例对象。对于静态同步方法,锁是当前对象的Class对象。对于同步方法块,锁是Synchoni ...
luliangy 评论(0) 有8457人浏览 2013-03-27 20:13

java的wait与notify

      wait与notify是java同步机制中重要的组成部分。结合与synchronized关键字使用,可以建立很多优秀的同步模型。       synchronized(this){}等价与public synchronized void method(){.....}       同步分为类级别和对象级别,分别对应着类锁和对象锁。类锁是每个类只有一个,如果static的方法被sy ...
bijian1013 评论(0) 有1697人浏览 2013-03-26 17:14

Java中synchronized 用在实例方法和对象方法上面的区别

        在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法。也可以synchronized 来修饰方法里面的一个语句块。       修饰实例方法: public synchronized void normalMethod() throws InterruptedException { for (int i = 0; i ...
bijian1013 评论(0) 有3502人浏览 2013-03-26 11:00

最近博客热门TAG

Java(141746) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics