掌握java中的三种代码块的定义及使用
代码块概念
代码块本身并不是一个很难理解的概念,实际上之前也一直在使用。所谓代码块是指使用“{}”括起来的一段代码,根据位置不同,代码块可以分为四种:普通代码块、构造块、静态代码块、同步代码块,其中同步代码块本书将在多线程部分进行讲解,本章先来观察其他三种代码块。
普通代码块
直接定义在方法中的代码块称为普通代码块。
p...
分类:
编程语言 时间:
2015-04-20 16:59:11
阅读次数:
134
什么是线程同步?当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。实现同步机制有两个方法:1、同步代码块:synchronized(同一个数据){}同一个数据:就是N条线程同时访问一个数据。通过使用同步方法,可...
分类:
移动开发 时间:
2015-04-11 11:37:36
阅读次数:
156
Java的锁分为对象锁和类锁。 1. 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内针对该对象的操作只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 2. 然而,另一个线程仍然可以访问该ob...
分类:
编程语言 时间:
2015-04-04 19:43:18
阅读次数:
172
java 多线程并发主要通过关键字synchronized实现Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线...
分类:
编程语言 时间:
2015-03-31 00:29:35
阅读次数:
137
同步代码块和同步方法的区别:同步代码块可以传入任意对象,同步方法中 如果多个线程检查的都是一个新的对象,不同的同步锁对不同的线程不具有排他性,不能实现线程同步的效果,这时候线程同步就失效了。 两者的区别主要体现在同步锁上面。对于实例的同步方法,因为只能使用this来作为同步锁,如果一个类中需要使用....
分类:
编程语言 时间:
2015-03-28 11:21:27
阅读次数:
194
记录原因:在开发中查看了一些优秀的图片下载框架,经常用到Synchronized同步,由于自己对同步有点模糊了,特此记录,方便下次查阅!
synchronized分为同步方法和同步代码块。
synchronized锁定的内容可以是具体的对象也可以是当前类的所有对象
synchronized可以有static变量锁和非static变量锁
1.同步方法
/**
* 对象锁...
分类:
其他好文 时间:
2015-03-16 23:14:50
阅读次数:
177
classMyThreadimplementsRunnable{privateintticket=6;@Overridepublicvoidrun(){for(inti=0;i<10;i++){synchronized(this){//同步代码块if(this.ticket>0){try{Thread.sleep(1000);//线程休眠}catch(InterruptedExceptione){e.printStackTrace();}System.out.println(Th..
分类:
编程语言 时间:
2015-03-04 06:25:12
阅读次数:
191
目录:概述多线程的好处与弊端JVM中的多线程解析多线程的创建方式之一:继承Thread类线程的状态多线程创建的方式之二:实现Runnable接口使用方式二创建多线程的好处多线程示例线程安全问题现象线程安全问题产生的原因同步代码块同步的好处与弊端同步的前提同步函数验证同步函数的锁单例模式的线程安全问题...
分类:
编程语言 时间:
2015-02-27 21:29:55
阅读次数:
538
使用synchronized之后,并不是说synchronized锁定的方法或者代码块要一次性执行完,才能跳转到其他线程。而是当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块...
分类:
编程语言 时间:
2015-02-16 13:03:13
阅读次数:
195
所谓死锁可以这么理解,就是同步的当中,出现了竞争资源的情况,双方或者多方的僵持不下所以造成了死循环。但是死锁也有“和谐”的时候,所以有的时候虽然写了死锁的代码确可以偶尔通过。死锁问题的由来是: 同步代码块中有同步函数; 同步函数中有同步代码块。或者说就是同步中还有同步也就是用了两个嵌套的synchr...
分类:
编程语言 时间:
2015-02-10 22:54:27
阅读次数:
139