最新文章列表

Java的synchronized关键字:同步机制总结

JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。搞清楚synchronized锁定的是哪个对象,就能帮助我们设计更安全的多线程程式。 AD: 不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话。JAVA的 synchronized关键字能够作为函数的修饰符,也可作为函数内的语句, ...
guojianhui0906 评论(0) 有805人浏览 2011-09-28 19:03

Java面试问题之四十一

请问Java提供了哪些常用的线程安全的类,在一个可变类中采用什么措施可以降低因保证线程安全而损失的并发性能。 答:所谓的线程安全就是不需要手动添加同步方法或者同步块来保证线程的同步,一般线程安全类都包含了同步的方法或者同步代码块,所以耗费了很多的系统性能。在非必要的情况下,一般尽量避免使用线程安全类,以提高系统的性能。 Java中提供常用的线程安全类有: (1)Vector(向量类) (2)Ha ...
YuHuang.Neil 评论(0) 有910人浏览 2011-09-26 11:02

轻量级synchronized

后台admin给用户加分,点的快了,会加两次分,在前台没限制的情况下,后台又不想用synchronized可以有两种解决办法 自己模块的util类加个 volatile的static变量 public static volatile isRunning = false;//静态变量,默认加分操作未进行 加分逻辑代码: if(util.isRunning==false){ util.isR ...
NEO_ONE 评论(0) 有941人浏览 2011-09-19 10:59

java线程间通信

[size=medium]JAVA线程间通信问题 有很多现实问题要求不仅要同步的访问同一共享资源,而且线程间还彼此牵制,通过相互通信来向前推进。那么,多个线 ...
guojianhui0906 评论(0) 有1105人浏览 2011-09-14 10:31

java synchronized详解

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。      一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。      二、然而,当一个线程访问object的一个synchroni ...
Yinny 评论(0) 有447人浏览 2011-09-09 16:04

synchronized 关键字

import java.util.Date; public class MyThread implements Runnable { int b = 100; public synchronized void m1() throws Exception { b = 1000; Thread.sleep(5000); ...
JustWalkOnMyWay 评论(0) 有823人浏览 2011-09-08 16:22

Java程序员面试题之十一

  71、简述synchronized和java.util.concurrent.locks.Lock的异同?   主要相同点:Lock能完成synchronized所实现的所有功能。   主要不同点:Lock有比synchronized更 ...
zuoshou19w 评论(0) 有980人浏览 2011-08-30 19:49

synchronized & ReentrantLock 的一点疑问

经过JDK1.6对synchronized的进一步优化,通常情况下,synchronized与lock & unlock 效率差别不大,如果大家做一下简单实验应该不容易得出,见http://www.blogjava.net/killme2008/archive/2007/09/14/145195.html中的实验,但在做下面这个实验时,发现两者效率上还是有些区别的。     这是一个最简单 ...
fp1203 评论(0) 有1455人浏览 2011-08-30 15:07

Java之锁研究

Lock和synchronized     JDK1.5以后,在锁机制方面引入了新的锁-Lock,在网上的说法都比较笼统,结合网上的信息和我的理解这里做个总结。     java现有的锁机制有两种实现方式,J.DK1.4前是通过synchronized实现,JDK1.5后加入java.util.concurrent.locks包下的各种lock(以下简称Lock)     先说说代码层的区别。 ...
wupuyuan 评论(2) 有3903人浏览 2011-08-26 13:05

知识补充:抽象方法abstract为什么不能与static、synchronized、native混用

这个问题要从实际的逻辑角度去看的,首先要了解abstract,static,synchronized,native这些关键字干什么用的。  abstract是抽象的,指的是方法只有声明而没有实现,它的实现要放入声明该类的子类中实现。 static是静态的,是一种属于类而不属于对象的方法或者属性,而我们知道,类其实也是一个对象,他是在class文件加载到虚拟机以后就会产生的对象,通常来说它是单例 ...
zuoshou19w 评论(0) 有1580人浏览 2011-08-24 06:35

synchronized的意义

1.synchronized的意义 synchronized用于多线程设计,有了synchronized关键字,多线程程序的运行结果将变得可以控制。synchronized关键字用于保护共享数据。 2.synchronized实现同步的机制 synchronized依靠"锁"机制进行多线程同步,"锁"有2种,一种是对象锁,一种是类锁。 3.此下面2种是依靠对象 ...
carsonCC 评论(0) 有744人浏览 2011-08-23 16:55

知识补充:ArrayList Vector LinkedList 区别与用法

ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记 ...
zuoshou19w 评论(0) 有757人浏览 2011-08-21 18:05

synchronized对象同步控制小结

JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 在进一步阐述之前,我们需要明确几点: A.无论synchronized关键字加在方法上还是 ...
blues1021 评论(0) 有915人浏览 2011-08-13 12:20

java线程同步

多线程同步方式 线程之间的同步需要用到“锁”来保护代码,以保证对于共享数据进行有序化读写。java中锁又分为独占锁和读写锁。独占锁是一种公平锁,任何时刻,最多只有一个线程(读或写)进入被保护的代码块;读写锁是一种非公平锁,包含了读锁和写锁,允许共享读,但读写互斥、写写互斥。在读多写少的场合使用读写锁比使用独占锁效率要高得多。   java多线程同步方式有四种:join,synchroniz ...
arctg30 评论(0) 有1135人浏览 2011-08-08 15:46

说说volatile关键字

Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值 ...
HelloSure 评论(0) 有2401人浏览 2011-08-05 16:29

synchronized使用

  synchronized关键字的使用: ①是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchroniz ...
HUFFMANS 评论(0) 有921人浏览 2011-08-03 23:38

线程同步小结(2)

             (一)      为什么要用到Synchronized同步机制呢?       线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。当用多个线程对象访问一个共享数据的时候,会由于对线程的控制不加控制而导致出现不合理的情况。        例如:两个线程ThreadA、ThreadB 都操作同一个对象Data 对象,并修改Data对象上的数据。  ...
victor-yang 评论(0) 有1036人浏览 2011-07-28 10:11

Java多线程总结之由synchronized说开去

更新完毕,结贴,以后有新的想法再开新帖 这几天不断添加新内容,给个大概的提纲吧,方面朋友们阅读,各部分是用分割线隔开了的: synchronized与wait()/notify() JMM与synchronized ThreadLocal与synchronized ReentrantLock与synchronized 最重要一条: synchronized是针对对象的隐式锁使用的,注意是对象! ...
HelloSure 评论(15) 有22655人浏览 2011-07-10 17:19

转载 :synchronized用法

在java编程思想中对synchronized的一点解释: 1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个sync ...
ableouou 评论(0) 有885人浏览 2011-07-07 14:55

线程笔记(synchronized)

线程同步的实现方式有2种——方法同步和块同步,在java中会用到synchronized 这个关键字,它可以修饰: 非静态方法 静态方法 方法块 修饰方法时, ...
stone2oo6 评论(0) 有917人浏览 2011-07-07 14:08

最近博客热门TAG

Java(141747) 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