1,什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。 2,线程和进程有什么区别? 线程是进程的 ...
分类:
编程语言 时间:
2018-08-10 19:39:19
阅读次数:
179
普通代码块: 方法中出现,限定变量生命周期,及早释放,提高内存利用率。 构造代码块: 在类中方法外出现,构造块会在创建对象时被调用,每次调用构造都执行,并且在构造方法前执行。 静态代码块: 方法外出现,并加上 static 修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。 同步代码块: ...
分类:
编程语言 时间:
2018-08-07 18:03:39
阅读次数:
137
java.lang.Thread.State 成员内部类 NEW:还未启动 Thread state for a thread which has not yet started. RUNNABLE:正在jvm中运行,但是可能正在等待操作系统的其他资源 Thread state for a runn ...
分类:
编程语言 时间:
2018-08-05 20:26:23
阅读次数:
187
乐观锁与悲观锁 悲观锁 假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。如, 关键字使用。 乐观锁 假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。如,CAS(Compare and Swap 比较并交换)。 获得锁后一直持有锁,以防本线程再次申请该锁造成无谓的解锁再加锁开销。 假 ...
分类:
其他好文 时间:
2018-08-04 23:21:59
阅读次数:
208
Java多线程的安全问题: 由于多线程的代码块中可能有共享资源,因此,当一个线程刚好使用共享资源时,CPU让改线程被吊起,转而执行另外一个线程时,第二个线程又去使用共享资源,从而出现共享资源不一致的状况而引发错误。 Java提供了同步代码块的解决方案,很好的解决了这一问题。 synchronized ...
分类:
编程语言 时间:
2018-08-04 20:16:32
阅读次数:
160
Lock:同步锁 用于解决多线程安全问题的方式: 1 同步代码块 2 不同方法 3 同步锁(更加灵活的方式) ReentrantLock是Lock的实现类 在finally中调用lock.unlock ...
分类:
其他好文 时间:
2018-08-02 02:17:03
阅读次数:
156
为何要使用同步? 同步方法和同步代码块的区别 Java 反射机制 反射例子 Java 中 Reflection 和 Introspection 区别? 通过反射获取构造方法并使用 获取反射的方法。 ...
分类:
编程语言 时间:
2018-08-01 01:01:20
阅读次数:
212
Object.wait(miliSec)/notify()/notifyAll() 线程调用wait()之后可以由notify()唤醒,如果指定了miliSec的话也可超时后自动唤醒。wait方法的调用会让当前线程放弃已经获取的object锁标志位,比如在同步代码块synchronized中调用wa ...
分类:
编程语言 时间:
2018-07-21 14:33:47
阅读次数:
212
1、代码块的概述和分类 A:代码块概述 在Java中,使用{}括起来的代码被称为代码块。 B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。 C:常见代码块的应用 a:局部代码块 在方法中出现;限定变量生命周期,及早释放,提高内存利用率 b ...
分类:
编程语言 时间:
2018-07-18 20:43:19
阅读次数:
158
T1 重入锁 加锁后调用的方法加通向的锁, 锁计数+2加锁方法碰到异常后会释放锁,其他线程会访问到错误的同步代码块数据 进行事务回滚 MyContainer4 互相叫醒 wait 释放锁 叫醒的时候要把锁在还给它 5、CyclicBarrier和CountDownLatch(await countD ...
分类:
其他好文 时间:
2018-07-15 11:03:25
阅读次数:
190