![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高并发
文章平均质量分 52
HryReal
while(!dead) { study(); }
展开
-
线程安全
*1.什么是线程安全?*线程安全就是当多个线程访问某一个类(对象或方法)时,这个对象始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。2.举例说明public class MyThread extends Thread{ private int count = 5 ; //没加锁 public void run(){ count--;原创 2017-04-12 11:49:42 · 16086 阅读 · 0 评论 -
Java多线程之并发容器(五)
1.hashtable和vector它们是支持并发操作的并发容器,hashtable只不过是在hashmap的基础上,所有的方法上都加上synchronized关键字,vector在ArrayList的基础上,所有的方法上都加上synchronized关键字来达到同步的目的。 2.Collections中的方法![这里写图片描述](http://img.blog.csdn.net/2017120原创 2017-12-04 15:42:07 · 477 阅读 · 0 评论 -
Java多线程之迭代器问题(四)
1.迭代器的问题无论是直接迭代还是for-each循环(for-each内部也是用迭代器实现)语句,对容器迭代的标准方式都是Iterator。但是,即使是使用迭代器,也无法避免在迭代器在迭代期间对容器加锁。这是因为设计同步容器的迭代器时并没有考虑并发修改的问题。它们表现出的行为是及时失败的,也就是容器在迭代的过程中如果被修改,就会抛出ConcurrentModificationException失败原创 2017-12-04 12:28:56 · 5446 阅读 · 1 评论 -
Java多线程之线程封闭(三)
线程封闭的概念访问共享变量时,通常要使用同步,所以避免使用同步的方法就是减少共享数据的使用,这种技术就是线程封闭。实现线程封闭的方法1:ad-hoc线程封闭这是完全靠实现者控制的线程封闭,他的线程封闭完全靠实现者实现。也是最糟糕的一种线程封闭。所以我们直接把他忽略掉吧。2:栈封闭栈封闭是我们编程当中遇到的最多的线程封闭。什么是栈封闭呢?简单的说就是局部变量。多个线程访问一个方法,此方法中的 局部变原创 2017-11-29 09:28:20 · 518 阅读 · 0 评论 -
Java多线程之线程的可见性(二)
1.Java的内存模型Java Memory Model (JAVA 内存模型)描述线程之间如何通过内存(memory)来进行交互。 具体说来, JVM中存在一个主存区(Main Memory或Java Heap Memory),对于所有线程进行共享,而每个线程又有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作并非发生在主存区,而是发生在原创 2017-11-28 17:14:18 · 1608 阅读 · 0 评论 -
WebService注解
WebService注解主要是为了让webservice的接口规范化 @WebService注解参数 targetNamespace:指定命名空间 name:portType的名称 portName:port的名称 serviceName:服务名称 endpointInterface:SEI接口地址,如果一个服务类实现了多个接口,只需要发布一个接口的方法,可通过此注解指定要发布服务的接口。@原创 2017-05-27 17:35:45 · 2259 阅读 · 0 评论 -
多线程中的单例模式
多线程中的单例模式常用的主要有两种:1.静态内部类方法(饿汉模式)2.双重检测法(懒汉模式) 为什么要检测两次?原因是多个线程在synchronized上面阻塞了,第一个进入synchronized代码块的创建了新的对象,所以第二个线程进入时要检测对象是否被创建出来,保证单例。原创 2017-04-12 22:25:18 · 15669 阅读 · 0 评论 -
notify和wait
public class ListAdd2 { private volatile static List list = new ArrayList(); public void add(){ list.add("bjsxt"); } public int size(){ return list.size(); } p原创 2017-04-12 17:31:32 · 15601 阅读 · 0 评论 -
Volatile
先看一段代码public class VolatileNoAtomic extends Thread{ private static int count=0; private static void addCount(){ for (int i = 0; i < 1000; i++) { count++ ; } S原创 2017-04-12 15:58:56 · 15681 阅读 · 0 评论 -
脏读
先看一段代码public class DirtyRead { private String username = "yy"; private String password = "123"; public synchronized void setValue(String username, String password){ this.username = us原创 2017-04-12 12:16:22 · 17528 阅读 · 0 评论 -
对象锁和类锁
先来看一段小代码public class MutiThread { private int num = 0; public synchronized void printNum(String tag){ try { if(tag.equals("a")){ num = 100; Syst原创 2017-04-12 12:08:11 · 15999 阅读 · 0 评论 -
java多线程之线程的安全性(一)
对象的状态:对象的状态是指存储在状态变量(实例或静态域)中的数据。对象的状态还可能包括其他依赖对象的域。例如,HashMap的状态不仅储存在对象本身,还储存在Map.Entry对象中。多线程安全的概念:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。多线程安全的核心:编原创 2017-11-25 16:35:10 · 456 阅读 · 0 评论