随笔分类 - JAVA多线程
摘要:先说两个概念:锁池和等待池 锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,但是该对象的锁目前正被线程A拥有
阅读全文
摘要:实际上java内存模型是如上图所示一样 每个线程有自己的栈内存,存放共享对象的副本,本地变量 每个线程自己的本地变量是不可见的,但是共享对象对每个线程都是可见的。 如果想实现线程通信的话, 线程对共享对象的修改,实际上是首先对本地副本修改,然后修改主内存,堆内存,通信线程再去修改。 如果想保证线程之
阅读全文
摘要:一,JDK并发包实际上就是指java.util.concurrent包里面的那些类和接口等 主要分为以下几类: 1,原子量;2,并发集合;3,同步器;4,可重入锁;5,线程池 二,原子量 原子变量主要有AtomicInteger,AtomicLong,AtomicBoolean等, 主要实现原理都是
阅读全文
摘要:1,什么是线程安全性? 简单概括就是一个类在多线程情况下能安全调用就是线程安全 2,Servlet 的线程安全性 默认是非线程安全的,写servlet代码的时候需要注意线程安全,注意同步 3,volatile volatile实际上是保证了多线程情况下,有读取,有写入,保证了读取的都是最新的值。 开
阅读全文
摘要:1.创建线程的方式: Executors其实就是工厂类,用来创建各种的线程池; 线程的基本控制方法: Thread.sleep(); 使线程睡眠,放弃cpu join :使一个线程等待另一个线程完事在执行。eg: t1里面,t2.join() t1暂停执行,立即执t2,t2执行完事之后再去执行t1
阅读全文
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v
阅读全文
摘要:Synchronized 分为实例锁和全局锁. 实例锁为 synchronized(this) 和 非static synchronized方法. 也加对象锁. 只要一个线程访问这类的一个synchronize方法, 其他的synchronized方法也将被阻塞. 全局锁 synchronized(
阅读全文

浙公网安备 33010602011771号