工于其善,必先利器

1、并发和并行的区别

并行:同一时间点执行多个任务(CPU多核或多个CPU同时执行多个任务)

并发:同一时间段内行多个任务(单核同时执行多个任务)

2、同步和异步的区别

同步:执行某个操作,按顺序执行下去,直到结束。

异步:执行某个操作后,立即离开,等到有返回结果时,回来继续执行。

额,感觉这个描述不怎么正式。但是我认为异步执行就是为了充分利用执行某项操作需要耗费大量时间,而异步就是为了利用这个时间,提高程序本身的执行效率。

3、进程和线程区别

进程:并发执行计算机程序的分配和管理计算机资源基本单位。

线程:线程是进程的执行单元,是进程的细粒度划分。

4、为什么要并发编程

提高对CPU的时间片利用效率,从而提高程序同一时间段处理的业务能力。

5、什么是线程安全

对于开发者来讲,我认为线程安全是用来形容CLASS的,那什么是一个线程安全的类呢?

当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程交替执行,并且在主调代码不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称该类是线程安全的。

并发编程>>概念准备(一)的更多相关文章

  1. java并发编程概念

    并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其 ...

  2. 【java并发编程实战】-----线程基本概念

    学习Java并发已经有一个多月了,感觉有些东西学习一会儿了就会忘记,做了一些笔记但是不系统,对于Java并发这么大的"系统",需要自己好好总结.整理才能征服它.希望同仁们一起来学习 ...

  3. java并发编程_建立概念

    在学习多线程编程时,相信大家会遇到好多概念类的东西,对于这些概念的不准确理解会导致后面越学越糊涂,现将学习过程中遇到的概念整理到这篇博客上,一来记录学习点滴,二来也加深理解,如果有理解不准确的地方,希 ...

  4. 1.1 Java并发编程的一些概念

    并发编程的一些概念 同步和异步 同步: 同步方法必须等到方法调用返回后,才能继续后继的行为.也就是说,同步方法执行时,如果没有返回,则后面的方法是执行不到的.同步方法调用,调用过程中可能出现阻塞和等待 ...

  5. Java并发编程(一)-- 多线程的基本概念

    多线程发展进程 在过去单CPU时代,单任务在一个时间点只能执行单一程序:发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程--虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...

  6. 【Java并发编程】6、volatile关键字解析&内存模型&并发编程中三概念

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  7. Java并发编程:什么是线程安全,以及并发必须知道的几个概念

    废话 众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的.为了追求成为一个好的Java程序员,我决定从今天开始死磕Jav ...

  8. Java并发编程 - 基本概念

    在开始我们的并发编程前,我们必须预热一下,一些基本概念必须了解. 1. 同步(Synchronous) / 异步(Asynchronous) 同步和异步都指一次方法调用. 同步:方法开始后,调用者必须 ...

  9. Python并发编程系列之常用概念剖析:并行 串行 并发 同步 异步 阻塞 非阻塞 进程 线程 协程

    1 引言 并发.并行.串行.同步.异步.阻塞.非阻塞.进程.线程.协程是并发编程中的常见概念,相似却也有却不尽相同,令人头痛,这一篇博文中我们来区分一下这些概念. 2 并发与并行 在解释并发与并行之前 ...

随机推荐

  1. advance shading--光源的类型

    我们这里讨论的光源类型都有一个相同点,就是,我们考量的都是光源上的一个点,对于物体表面上一个点的影响,也就是说立体角趋近为零的情况. 这里光源分为两类,一类是方向光,假设光源在无限远处.另一类是点光源 ...

  2. CRC32加密算法原理

    [转]:https://blog.csdn.net/android_mnbvcxz/article/details/78902737

  3. [Training Video - 1] [Selenium Basics] [Download and Install Selenium]

    Download Selenium Jars Configure jars in eclipse Webdriver http://docs.seleniumhq.org/download/ Sele ...

  4. 数据备份——PHP

    在大多数情况下,开发实在win下进行,因此,然系统每天自动备份数据这也是有必要的饿. Windows平台数据备份 创建批处理文件 在批处理文件中填写如下代码: D:\wamp64\bin\php\ph ...

  5. ie高版本浏览器不支持velocity的问题解决

    <head><meta http-equiv="X-UA-Compatible" content="IE=5"></head> ...

  6. Determining Whether Multitasking Is Available

    [Determining Whether Multitasking Is Available] Apps must be prepared to handle situations where mul ...

  7. 百度地图 Javascript API 笔记

    因为最近的一个项目用到,所以自己整理了一下遇到的一些坑 自己写了一个类库来二次封装用于调起常用的功能:https://github.com/iRuxu/iBMap 快速文档链接 Javascript ...

  8. Homework 4

    Homework 4 开发工具:dev c++ 开发语言:c++ 源代码上传至github:上传一直失败... 合作人:曹权 博客地址:http://www.cnblogs.com/c2016/ 这里 ...

  9. Visual Studio Code 基本操作 - Windows 版

    1.Install the .NET SDK 2.Create app: dotnet new console -o myApp cd myApp 3.Run your app:dotnet run

  10. hdu X问题 (中国剩余定理不互质)

    http://acm.hdu.edu.cn/showproblem.php?pid=1573 X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory ...