JAVA中的并发和并行,进程和线程
2019-04-05 14:02
288 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smarttally/article/details/89042899
一直以为并发和并行是一个概念,偶然了解数据库锁表的解决方案时,才理解到并发和并行的区别。这个概念又和进程和线程的区别相似,因此三个事情放一个文章里记录下。
一、数据库锁表:
1. 锁表发生在insert update 、delete 中;
2. 锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite 或者 回滚 或者退出数据库用户;
3. 造成锁表的原因:
a.insert、update、delete操作,当一个进程执行且未commit时,另一个进程无法执行该资源;
b.注意,并发是不会产生该情况的,因为一个线程操作数据库时,另一个线程是不能操作数据库的,cpu 和i/o 分配原则。
4. 解决方案:
a.减少insert 、update 、delete 语句执行 到 commite 之间的时间。具体点批量执行改为单个执行、优化sql自身的非执行速度;
b.对异常进行回滚,事务。
二、并发和并行,进程和线程:
1. 并行指在同一时间点同时执行,并发是指在同一时间片段同时执行;
2. 并行类似于CPU的多核可以同时执行不同的进程,并发可以理解为单核只能在同一时间段跳跃在不同的线程上进行处理。
以上是我的一些理解,没做过深入的研究,仅笔记留作日后参考。
相关文章推荐
- Java多线程中的进程,线程,并行,并发
- Java 多线程编程之一 进程与线程,并发和并行的区别
- Java成神之路(二十)并行与并发,线程与进程
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻
- Java并发编程学习(一):并发、并行、进程、线程、多线程
- Java高并发程序-Chapter2 Java并行程序基础 (第四讲)进程和线程
- Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻
- Java并发01:进程、线程、并发、并行、多线程、线程安全、死锁、并发优缺点
- Java并发教程-1进程和线程
- 并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 01 Java 并发 进程和线程
- 进程、程序、线程、多线程、并发、并行详解
- Java 并发编程 1 进程和线程
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 【翻译二】java--并发之进程与线程
- Java并发_进程和线程的区别
- Java 线程和进程,并发解决之synchronized
- 并发与并行,进程、线程和协程之间的异同小节