07 2020 档案
摘要:最近工作中遇到的需求,需要用到嵌套事务,然而在涉及到不同事务方法之间互相调用时的传播行为时却不是很确定,之前好像只是停留在定义的层面,对于具体各种情况事务的回滚情况并不是很确定。 参考传播行为代码验证 以及总结在开发中遇到了Transaction rolled back because it has
阅读全文
摘要:JUC即java.util.concurrent的简称,在这个包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步 IO 和轻量级任务框架,还提供了设计用于多线程上下文中。通过她们能够很好地帮助我们在开发中提高一些程序的性能。 ####1.Lock与Conditi
阅读全文
摘要:####一、线程 #####1.线程与进程 参考深入理解计算机系统中的概念 为了解决CPU与存储器之间的速度差异,来最大化利用CPU的性能而提出的概念 进程是操作系统对正在运行的程序的一种抽象,感觉同时可以运行多个进程,而每个程序都好像在独占的使用处理器。 单核CPU 同一个时刻只能运行一个进程,同
阅读全文
摘要:互斥锁 【并发编程理论】1.并发问题的由来 中说明了原子性为 CPU在执行一个或多个操作的过程中不被中断。 然而在多核CPU的情况下,有一些情况即使操作不被中断,也会引发线程安全问题。 而互斥性则为同一时刻只有一个线程执行,无论多核或者单核的情况都可以满足原子性。 一、锁的设计思想 1.把需要互斥执
阅读全文
摘要:并发编程中问题的由来: CPU、内存、I/O设备的速度存在巨大差异,程序的整体性能取决于最慢的操作——读取I/O设备,为了合理利用CPU性能,平衡三者的速度差异,计算机体系结构、操作系统、编译程序做出了以下改进。 CPU增加了缓存 操作系统增加进程、线程分时复用CPU,进而均衡CPU与I/O设备的速
阅读全文