线程不安全之线程在访问资源时候会导致冲突。
例如下列的例子
package com.test.thread;
public class TestConfilict {
/**
* @param args
*/
public static void main(String[] args) {
Counter counter=new Counter();
for...
分类:
编程语言 时间:
2014-09-25 23:29:18
阅读次数:
311
假设多个线程共享一个静态变量,如果让每个线程都执行相同的方法每次让静态变量自增1,这样的做法线程安全吗?能保证自增变量数据同步吗?本篇体验使用lock语句块和Interlocked类型方法保证自增变量的数据同步。 □ 线程不安全、数据不同步的做法 class Program { static int...
分类:
编程语言 时间:
2014-09-23 17:11:54
阅读次数:
243
本文演示,Tread多线程安全问题,以及一种解决多线程安全方式。
1)一个线程不安全的Demo
2)线程同步
一、小Demo演示引出线程安全问题:
二、线程同步
问题:对于上面的问题,我们是不是可以采取一个这样的措施?当线程1执行run代码段的时候,我们不让其他的线程来执行,直到线程1执行完,其他的线程才可以进入。
解决方案:好在Java里面本来就有这样的函数,将代码段包裹起来,就可以达到上面问题描述的效果。函数名:synchronized,需要一个参数,随便传个对象就ok了。...
分类:
编程语言 时间:
2014-09-17 23:22:52
阅读次数:
354
在多线程开发中,经常会遇见在run方法里面调用一个公共的属性的事情,由于每次start都会创建一个线程,因此所有的线程共享一个属性,当其中任何一个线程更改了这个属性的值,这个属性在下面的使用过程中都会被改变,这回导致很多不期望发生的事情发生,这就叫做线程不安全的。先来一个例子说明这个问题。
package com.bird.concursey;
import java.util.Date;...
分类:
编程语言 时间:
2014-09-16 22:13:51
阅读次数:
374
第一种(懒汉,线程不安全):Java代码publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){}publicstaticSingletongetInstance(){if(instance==null){inst...
分类:
编程语言 时间:
2014-09-16 01:33:59
阅读次数:
232
一、Handler的定义:
主要接受子线程发送的数据,
并用此数据配合主线程更新UI.
解释: 当应用程序启动时,Android首先会开启一个主线程
(也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发,
比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要...
分类:
移动开发 时间:
2014-09-13 00:51:04
阅读次数:
300
1、HashMap简介
HashMap提供所有可选的Map操作,并允许使用 null 值和 null 键,,是线程不安全的。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
HashMap的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创...
分类:
其他好文 时间:
2014-09-06 23:53:04
阅读次数:
684
本文由PurpleSword(jzj1993)原创,转载请注明
原文网址 http://blog.csdn.net/jzj1993
安卓主线程(UI线程)是线程不安全的:对UI控件的操作都应在主线程中完成;UI线程不应执行耗时操作,以免程序不响应(即ANR异常)
实现新线程的常用方法(注意要调用start方法启动新线程而不是run方法):
...
分类:
移动开发 时间:
2014-09-04 22:20:50
阅读次数:
254
为了方便对象的操作,java设计了一套API表示数据结构。
线程安全的:Vector Hashtable 但是线程安全也就是不能并发访问。所以效率也低。
线程不安全的: List Map Set 其中List和Set继承了Collection接口。Map没有继承Collection接口 Set:不能...
分类:
其他好文 时间:
2014-09-01 20:55:13
阅读次数:
203
1、Map和Map.Entery区别 笔者认为很多人误解这两个类,或者说不太会灵活应用,下面我来简单说一下我的理解(仅供参考)。 →Map : 无可厚非,学过java的不管是小鸟还是老牛都已经敲得不想再敲了,是属于一个键值对的集合类,属于线程不安全的,关于Map线程安全的可以另外实现,以后会...
分类:
编程语言 时间:
2014-08-31 10:27:51
阅读次数:
146