共两个类:
第一个:
package com;
//军队线程
//模拟作战双方的行为
public class ArmyRunnable implements Runnable {
//volatile保证了线程可以正确的读取其他线程写入的值
//可见性
volatile boolean keepRunning = true;
@Override
p...
分类:
编程语言 时间:
2014-12-22 00:58:33
阅读次数:
184
Android中android:visibility的3中属性的剖析 - Kevin Gao - 博客园 在Android中控件或者布局的可见性android:visibility有3中情况,如View.VISIBLE,View.UNVISIBLE,View.GONE这3中情况。View.VISIB...
分类:
移动开发 时间:
2014-12-18 14:50:41
阅读次数:
175
Java内存模型是围绕着并发过程中如何处理原子性、可见性、有序性这三个特征来建立的,下面是这三个特性的实现原理:
1.原子性(Atomicity)
由Java内存模型来直接保证的原子性变量操作包括read、load、use、assign、store和write六个,大致可以认为基础数据类型的访问和读写是具备原子性的。如果应用场景需要一个更大范围的原子性保证,Java内存模型还提供了loc...
分类:
编程语言 时间:
2014-12-17 00:23:19
阅读次数:
236
原子性:操作是不可分割的,就说这个操作是原子操作。比如a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作。java的concurrent包下提供了一些原子类,比如:AtomicInteger、AtomicLong、AtomicReference等。
可见性:是指线程之...
分类:
编程语言 时间:
2014-12-15 21:51:45
阅读次数:
229
当一个变量定义成volatile之后,它将具备两种特性:第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其它线程是可以立即得知的,变量值在线程间传递均需要通过主内存来完成,如:线程A修改一个普通变量的值,然后向主内存进行回写,另外一条线程B在线程A回写完成了之后再从主内存进行读取操作,新变量的值才会对线程B可见。
关于volatile变量的可见...
分类:
编程语言 时间:
2014-12-15 21:48:58
阅读次数:
249
开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多线程或事件驱动的架构。对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用开发会遇到很多问题。首先是很难编写正...
分类:
编程语言 时间:
2014-12-14 22:32:03
阅读次数:
286
字段表(field_info)用于描述接口或类中声明的变量。字段(field)包括了类级变量或实例变量,但不包括方法内部声明的变量。描述一个字段的信息有:字段的作用域(public,private,protected修饰符),是类级变量还是实例级变量(static修饰符),可变性(final),并发可见性(volatile修饰符,是否强制从主内存读写),是否可序列化(transient修饰符),字...
分类:
编程语言 时间:
2014-12-12 22:13:27
阅读次数:
298
android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义:View.VISIBLE--->可见View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layout...
分类:
其他好文 时间:
2014-12-12 10:00:38
阅读次数:
169
首先创建数据表IF object_id('TestTable') IS NOT NULL DROP TABLE TestTableGOCREATE TABLE TestTable(id INT IDENTITY(1,1),Info VARCHAR(10))GOINSERT TestTable ...
分类:
数据库 时间:
2014-12-11 18:54:43
阅读次数:
136
封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法对隐藏信息进行操作 1.修改类的属性的可见性,通过private进行限制; 2.通过指定的方法对属性进行相应的操作继承:java中的继承是单继承,继承后具备父类(基类)的属性和方法,同时在子类(派生类)中可以重写父.....
分类:
编程语言 时间:
2014-12-10 12:25:13
阅读次数:
152