随笔分类 - 多线程
摘要:线程安全性 不要跨线程共享变量 使状态变量为不可变的 在任何访问状态变量的时候同步 原子性 锁 内部锁在java中扮演了互斥锁的角色。意味着至多有一个线程可以拥有锁,其他线程访问必须等待或者阻塞。 内部锁是可重入的,因此线程在获取他自己占有的锁时,请求会成功。重新进入意味着所有请求是“每线程”的而不
阅读全文
摘要:参考博客1:http://www.cnblogs.com/exe19/p/5359885.html参考博客2:http://www.jianshu.com/p/87bff5cc8d8c 1 . 线程池的体系结构 2 .线程池的使用 3 . ThreadPoolExecutor类 构造方法 publi
阅读全文
摘要:1 . wait() 方法使当前执行代码的线程进行等待,将当前线程置入"预执行队列",并且在wait()方法所在处停止执行,直到接到通知或者中断。 在调用wait之前,线程必须获得该对象的对象级别锁,即只能在同步方法或者同步代码块中才能调用wait方法。 调用wait()方法后当前线程自动释放锁。在
阅读全文
摘要:1 . 多个线程访问多个对象JVM会创建多个锁。2 . 静态方法是以类为单位进行同步的——对于同一个类中的所有静态方法,在同一时间内,只允许有一个线程执行其中的一个静态方法,其余想要进入这些方法的线程都必须挂起等待。非静态方法是以对象为单位进行同步的。3 .假设现有两个线程A和B,一个object对
阅读全文
摘要:一 . 在java中有以下三种方法可以停止正在运行的线程: 1 . 使用退出标志使线程正常退出,也就是当run方法完成后线程终止2 . 使用stop() 方法强行终止线程,但是不推荐这么做,因为stop()方法和suspend()及resume()方法一样是不安全的,使用它们可能产生不可预料的结果3
阅读全文

浙公网安备 33010602011771号