工于其善,必先利器

1、并发和并行的区别

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

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

2、同步和异步的区别

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

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

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

3、进程和线程区别

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

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

4、为什么要并发编程

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

5、什么是线程安全

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

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

最新文章

  1. 快递Api接口 & 微信公众号开发流程
  2. Java 快速排序两种实现
  3. [iOS]坑爹的ALAsset(Assets Library Framework)
  4. 查看Linux内存状况的命令及工具
  5. Vigenère 密码(luogu 1079)
  6. Windows内核下操作字符串!
  7. JavaScript显示分页按钮
  8. Ext.tree.Panel Extjs 在表格中添加树结构,并实现节点移动功能
  9. Leetcode 242. Valid Anagram(有效的变位词)
  10. Memcached源码分析之内存管理
  11. OpenGL与CUDA互操作方式总结
  12. Mysql之单表记录查询
  13. vue 父子组件通信-props
  14. MySQL之ORDER BY 详细解析
  15. 使用Sitecore的可视化路径分析器工具洞察客户360度行为
  16. RN 上传文件到以及上传文件到七牛云(初步)
  17. HDU5840(SummerTrainingDay08-B 树链剖分+分块)
  18. 紧急救援 L2-001 dijkstra 打印路径 最短路条数 权值
  19. as3 判断移动方向
  20. DataSet转换成List<>

热门文章

  1. libevent 简单学习
  2. CentOS7防火墙firewall相关操作
  3. [Training Video - 2] [Java Introduction] [Operator, Loops, Arrays, Functions]
  4. Greeplum 系列(一) Greenplum 架构
  5. web02
  6. Android内核的编译与测试
  7. mongo学习- 聚合project操作
  8. iconv用法解读
  9. 深入浅出CSS:Div(一)
  10. access建立sql查询语句运行查询语句