自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Java Atomic 包总结

我们知道volatile修饰的变量可以实现基本的加载和赋值的原子性,但是对于像i++等操作就不能保证原子性了,在JDK1.5之前我们只能通过synchronized(阻塞的方式)实现这些复合操作的原子性,在JDK1.5中java.util.concurrent.atomic 包提供了若干个类能实现对int,long,boolean,reference的几个特殊方法非阻塞原子性,这一系列类的主要基于...

2012-03-21 23:08:02 68

原创 隐式(Synchronized)锁和显式(java.util.Lock)锁

为了控制多个线程按照正确的顺序来访问共享数据,Java提供了提供了两种锁方案 1.隐式锁(Synchronized) 这一种就是比较大家熟悉的synchronized关键字,因为Java中每个对象都实现了lock的功能,所以synchronized正是利用了这一特性,来控制并发访问.使用synchronized关键字可以保证使用同一个锁的方法或代码块在不同的线程里执行时是原子的即不...

2012-03-18 22:56:42 161

原创 多线程编程点滴&volatile

为什么基于多线程的程序会出现同步问题,根源在于多个程序之间会共享数据,没有数据共享的或只共享只读数据的多线程程序是不需要去考虑同步的.而现实中这样的状态比较少见,常见的多线程都会读写共享数据,基于此,就需要对涉及到共享数据操作的方法进行同步,何为同步就是依靠一定的机制让线程按照次序来操作数据,防止出现读脏数据等情况出现.类似常见的存取款程序,必须严格控制账户这个共享信息的访问次序. 所以要正...

2012-03-14 00:19:00 69

原创 Thread 重要方法总结

1.isAlive() 线程已经调用了start方法且没有结束 返回true时,线程对应于Runnable,Waiting,Timed_Waiting,Blocked四种State,[b]不要以为 只是对应于Runnable状态[/b] 返回false时,线程对应于New,Terminated两种状态 2.isInterrupted() 线程是否int...

2012-03-09 22:33:04 152

原创 Java线程的状态

Java虚拟机中线程的状态可以为且同时只能为以下6种之一,这些状态只是JVM定义的线程状态,不代表任何操作系统的线程状态. 1.NEW 线程被创建了,但没有调用start()方法 Thread t = new TestThread(); //创建线程,此时处于NEW状态 2.RUNNABLE 线程处于(可)运行状态,但也可能在等待CPU等资源 ...

2012-03-09 22:21:50 47

Wait 和 Notify

wait,notify,notifyAll 是Object的方法,用于线程间(确切的讲是需要使用同一个锁的线程间)的通信.只有该对象锁的owner线程才可以调用这几个方法,否则会抛出异常. 1.wait() ,wait(sometime) 该方法会使当前线程释放已经获得的锁,进入对该锁的等待状态(wait状态),在如下几种情况下才能重新进入(blocked)状态 a.另外一...

2012-03-07 20:06:10 86

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除