并发和并行都可以表示执行多个任务,但是偏重点不同。并发偏重于多个任务交替执行,而多个任务之间有可能是串行的。并行是真正意义上的同时执行。

  并发和并行示意图如下:

  

  从严格意义上来说,并行的多个任务是真实的同时执行,而并发的多个任务是交替执行,一会儿运行任务A一会儿运行任务B,系统会不停地在多个任务之间切换。但对于外部观察者来说,即使多个任务之间是串行并发的,也会产生多个任务之间是并行执行的错觉。并行只能出现在多核CPU,因为一个CPU一次只能执行一条指令。

  

  参考资料

  《实战Java高并发程序设计》 P8-9

Java 多线程 并发和并行的更多相关文章

  1. Java多线程并发08——锁在Java中的应用

    前两篇文章中,为各位带来了,锁的类型及锁在Java中的实现.接下来本文将为各位带来锁在Java中的应用相关知识.关注我的公众号「Java面典」了解更多 Java 相关知识点. 锁在Java中主要应用还 ...

  2. Java多线程-并发容器

    Java多线程-并发容器 在Java1.5之后,通过几个并发容器类来改进同步容器类,同步容器类是通过将容器的状态串行访问,从而实现它们的线程安全的,这样做会消弱了并发性,当多个线程并发的竞争容器锁的时 ...

  3. Java 多线程并发编程一览笔录

    Java 多线程并发编程一览笔录 知识体系图: 1.线程是什么? 线程是进程中独立运行的子任务. 2.创建线程的方式 方式一:将类声明为 Thread 的子类.该子类应重写 Thread 类的 run ...

  4. Java多线程并发技术

    Java多线程并发技术 参考文献: http://blog.csdn.net/aboy123/article/details/38307539 http://blog.csdn.net/ghsau/a ...

  5. java 多线程并发问题总结

    java 多线程并发主要通过关键字synchronized实现 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问 ...

  6. 从火箭发场景来学习Java多线程并发闭锁对象

    从火箭发场景来学习Java多线程并发闭锁对象 倒计时器场景 在我们开发过程中,有时候会使用到倒计时计数器.最简单的是:int size = 5; 执行后,size—这种方式来实现.但是在多线程并发的情 ...

  7. Java多线程并发03——在Java中线程是如何调度的

    在前两篇文章中,我们已经了解了关于线程的创建与常用方法等相关知识.接下来就来了解下,当你运行线程时,线程是如何调度的.关注我的公众号「Java面典」了解更多 Java 相关知识点. 多任务系统往往需要 ...

  8. Java多线程并发02——线程的生命周期与常用方法,你都掌握了吗

    在上一章,为大家介绍了线程的一些基础知识,线程的创建与终止.本期将为各位带来线程的生命周期与常用方法.关注我的公众号「Java面典」了解更多 Java 相关知识点. 线程生命周期 一个线程不是被创建了 ...

  9. Java多线程并发05——那么多的锁你都了解了吗

    在多线程或高并发情境中,经常会为了保证数据一致性,而引入锁机制,本文将为各位带来有关锁的基本概念讲解.关注我的公众号「Java面典」了解更多 Java 相关知识点. 根据锁的各种特性,可将锁分为以下几 ...

随机推荐

  1. PAT Basic 1069. 微博转发抽奖(20)

    小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...

  2. .netcore读取配置文件

    setting.json { "compilerOptions": { "noImplicitAny": false, "noEmitOnError& ...

  3. .net core支持的操作系统版本

    https://github.com/dotnet/core/blob/master/os-lifecycle-policy.md

  4. 【bzoj2131】免费的馅饼 dp+树状数组

    题解: 昨天好像做了个几乎一模一样的题目 按照ti排序 |p[i]-p[j]|<=2*(t[i]-t[j]) 然后去绝对值变为三维偏序 发现后两个式子可以推出ti<tj 所以就变成二维偏序 ...

  5. linux shell基本知识

    shell script的一些注意事项: .#这个符号是注释本行,通常用来做批注用,#!除外,是用来标注用哪种shell执行本脚本, .执行顺序为从上到下,从做到右 .忽略空行,tab空格 .脚本换行 ...

  6. ab访问并发测试简要步骤

    工具: 1)ab -n 总访问次数  -c 并发用户数  目标url   查询某一个工具是哪个软件包安装的 rpm -qf 2)loadrunner 可视化 3)webbench 制作指定大小页面: ...

  7. mongo 分片

    // use ebay // sh.enableSharding("ebay") // db.getCollection("ebay_total_menu_detail_ ...

  8. tomcat配置后台管理监控页面

  9. spring mvc读取properties资源文件夹中文乱码问题

    通过在applicationContext.xml和springmvc.xml中配置 <bean        class="org.springframework.beans.fac ...

  10. 上传前端webuploader

    多文件上传时,是有几个文件调用几次方法. 可以设置为单线程.