java 线程安全 锁

原创 2016年05月30日 10:38:57

两个线程A,B。调用同一加锁代码块C,假如A先调用C,在A线程调用C完成之前,B线程要调用此代码块必须先等待,等A调用完成,B立马执行C.


package test;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import net.sf.json.JSONObject;

import com.hlzt.wx.util.http.WxHttpClientUtils;
import com.hlzt.wx.util.msg_handler.MsgDispatcher;

public class ss {
	
	 public static void main(String[] args) throws UnsupportedEncodingException {
		 ddd d=new ddd("aaaaaaaaaaaaaa");
		 d.start();
		 ddd d2=new ddd("bbbbbbbbbbbbbb");
		 d2.start();
		 
			
	}
	 
	 public synchronized static void aa(String str)
		{
			System.out.println("1#########"+str);
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			System.out.println("2#########"+str);
			
		}
	
}


class ddd  extends Thread{
	private String aaa;
	
	
	
	public ddd(String aaa) {
		this.aaa = aaa;
	}

	@Override
	public void run() {
		ss.aa(aaa);
	}
	

}


版权声明:GOOD DEEP

java线程安全和锁机制详解

java线程安全和锁机制详解 . 在开始这篇blog之前应该先了解几个概念: 临界区: 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行...
  • beyond59241
  • beyond59241
  • 2016年03月14日 19:59
  • 2154

java线程安全和锁优化

面向对象的编程思想是站在现实世界的角度去抽象和解决问题,他把数据和行为都看作是对象的一部分,这样可以让程序员能以符合现实世界的思维方式来编写和组织程序。 线程安全的一个恰当的定义:当多个线程访问一个...
  • xulu_258
  • xulu_258
  • 2016年04月10日 16:17
  • 2328

Java并发编程读书笔记——线程安全与锁优化

Java并发实现的三个特征:原子性、可见性、顺序性。原子性操作的实现原理 (1)总线锁实现原子性:所谓的总线锁定就是使用处理器提供的一个LOCK#信号,当处理器在总线上输出此信号的时候,其他处理器的...
  • yinbingqiu
  • yinbingqiu
  • 2017年04月05日 21:04
  • 310

高效并发-线程安全与锁优化

1:线程安全1.1:Java语言中的线程安全 不可变:被final修饰。 绝对线程安全 **相对线程安全:**Java语言中,大部分的线程安全类都属于这种类型,例如Vector、HashTable、C...
  • jiaxiuya
  • jiaxiuya
  • 2016年07月30日 11:24
  • 954

不用synchronized和lock,实现线程安全的单例模式

总结: 单例模式必然会被多个线程访问。多线程访问一定要注意锁的问题。参考博主之前分享的转载文章《java中的锁》,有几种方式如下: 自旋锁类锁和对象锁共享锁和排它锁偏向锁互斥锁闭锁活锁分段锁无锁...
  • vincentff7zg
  • vincentff7zg
  • 2017年02月27日 13:45
  • 1010

Java多线程编程-(1)-线程安全和锁Synchronized概念

一、进程与线程的概念 (1)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。 在未配置 OS 的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完后,才允许...
  • u010870518
  • u010870518
  • 2017年09月15日 14:51
  • 5207

今天做到一道面试题:线程安全问题,类锁与对象锁的区别

原文:    http://www.iteye.com/topic/806990 http://www.iteye.com/topic/808550   浅谈java内存模型    ...
  • OrangEJuicE11
  • OrangEJuicE11
  • 2017年05月15日 18:11
  • 646

深入理解Java虚拟机----(十一)线程安全与锁优化

线程安全     为了深入讨论,不把线程安全当做非真即假的概念,我们把它分为5个层次。 不可变:不可变的数据是线程安全的。例如前面提到的final,被final修饰的基础数据类型,被正确构...
  • wl6965307
  • wl6965307
  • 2016年02月12日 17:05
  • 996

[深入理解Java虚拟机]第十三章 线程安全与锁优化-锁优化

高效并发是从JDK 1.5到JDK 1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lo...
  • qilixiang012
  • qilixiang012
  • 2015年11月08日 23:50
  • 685

Java带有双重校验锁的单例模式

public class Singleton { private volatile static Singleton singleton; private Singleto...
  • feiyang123_
  • feiyang123_
  • 2014年07月26日 18:23
  • 2015
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 线程安全 锁
举报原因:
原因补充:

(最多只允许输入30个字)