知识大全 java的线程安全四种方式五个等级
Posted 知
篇首语:卧疾丰暇豫,翰墨时间作。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java的线程安全四种方式五个等级相关的知识,希望对你有一定的参考价值。
四种方式 sychronized关键字 sychronized method() sychronized (objectReference) /*block*/ static synchronized method() sychronized(classname class) 其中 和 是代表锁当前对象 即一个对象就一个锁 和 代表锁这个类 即这个类的锁 要注意的是sychronized method()不是锁这个函数 而是锁对象 即 如果这个类中有两个方法都是sychronized 那么只要有两个线程共享一个该类的reference 每个调用这两个方法之一 不管是否同一个方法 都会用这个对象锁进行同步 锁类的 和 类推 即该类的不同reference调用了sychronized区段的咚咚就会受类锁的控制 还有 如果两个函数调用的先后顺序不能被打断 那么可以有个专门的锁对象来完成这个任务 class MyLock synchronized getLock() //####还没写完 五个等级 参见effective java Item Document thread safety immutable 不可变对象 thread safe 线程安全的 可以放心使用 如java util Timer conditionally thread safe 条件线程安全的 如Vector和Hashtable 一般是安全的 除非存在几个方法调用之间的顺序不能被打断 这时可以用额外的锁来完成 thread patible 可以使用synchronized (objectReference)来协助完成对线程的调用 thread hostile 不安全的 wait & notifyAll 在循环中使用wait 使用notifyAll而不是notify pipe java中也有pipe的 四个类 PipedInputStream PipedInputReader PipedOutputStream PipedOutputWriter 下面是一段生产者消费者的代码(摘自core javaII) /* set up pipes */ PipedOutputStream pout = new PipedOutputStream(); PipedInputStream pin = new PipedInputStream(pout ); PipedOutputStream pout = new PipedOutputStream(); PipedInputStream pin = new PipedInputStream(pout ); /* construct threads */ Producer prod = new Producer(pout ); Filter filt = new Filter(pin pout ); Consumer cons = new Consumer(pin ); /* start threads */ prod start(); filt start(); cons start(); cha138/Article/program/Java/gj/201311/27306相关参考
Java线程安全和非线程安全 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ArrayList和
Java中限时线程回调方式的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 线程回调方式我们
Java多线程处理方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
Java线程的几种状态 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!线程有四种状态任何一个线程肯定
Java线程安全总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近想将java基础的一些东
Java容器类的线程安全 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java容器类的关系图
java中原子操作是线程安全的论调经常被提到根据定义原子操作是不会被打断地的操作因此被认为是线程安全的实际上有一些原子操作不一定是线程安全的 这个问题出现的原因是尽量减少在代码中同步关键字同
Java理论与实践:描绘线程安全性[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 线程安全
Java理论与实践:描绘线程安全性[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 定义线程