对于我开始接触同步异步单线程多线程的概念的时候,都是分别理解同步和异步、单线程和多线程概念,当看到“使用同步方法保证线程安全”时愚昧的理解为那就是单线程咯;于是就陷入了困惑,同步等于单线程吗?
下面是我自己不成熟的理解,理解的不是很全面,大家仅供参考,看看就好,欢迎批评改正,深刻的理解我会努力学习,日后再整理,多多包容。
同步:等待执行结束之后,再执行;
异步:可以不管不顾,同一时间,一起执行;
单线程:只有一个线程;
多线程:有多个线程;
同步!= 单线程 异步!=多线程
举例:
1:
多线程:小明可以边吃饭边看电视剧 ;
单线程:小明只睡觉;
2:
同步:小明吃饭,小明吃完啦,爸爸吃; 针对饭;
异步:小明吃饭,同时爸爸也吃饭; 针对饭;
3:
小明边吃饭边看电视 ,同时,爸爸专心吃饭;
小明:多线程;
爸爸:单线程;
饭:异步 (爸爸和小明一起吃饭,小明爸爸都吃不饱);
4:
小明边吃饭边看电视 ,吃完了;爸爸专心吃饭;
小明:多线程;
爸爸:单线程;
饭:同步(爸爸怕小明饿着,先让小明吃,小明饱了,吃完了,爸爸再吃);
5:
小明边吃饭边看电视 ,吃完了;爸爸再吃饭,也是边吃饭边看电视;
小明:多线程;
爸爸:多线程;
饭:同步;
电视:异步;
6:小明爸爸同时边吃饭边看电视
小明:多线程;
爸爸:多线程;
饭:异步;
电视:异步;
以上几个例子中小明和爸爸类似于两个不同进程,饭、电视类似于资源,不同进程访问不同资源方式不同,同步异步和单线程多线程比较的维度不同。

转载于:https://www.cnblogs.com/Isabella-CC/p/8269514.html

同步异步单线程多线程初级理解相关推荐

  1. 一则故事表达:并发,并行,同步,异步,线程,多线程

    一个小事件说明下并发,并行,同步,异步,线程,多线程 一个广交会举办向8间公司发起展览邀请, 参展公司有8间,场地有80万平方米的展示区域, 每个参展商有10万平方米可以用于展出售卖, 每个参展公司仅 ...

  2. 【Java线程】互斥 同步 异步 并发 多线程的区别与联系

    1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行.其中两种并发关系分别是同步和互斥: 2. 互斥:进程间相互排斥的使用临界资源的 ...

  3. 简谈单线程多线程的理解

    JS的单线程 JS语言的特点之一就是单线程,简而言之就是同一时间只能做一件事,假设JS是多线程,一个线程在某个节点上添加内容,另一个线程删除了这个节点,这时就看到了问题所在了,但是H5提出了Web W ...

  4. java多线程同步异步_003JAVA多线程同步与异步方法

    003JAVA多线程同步与异步方法 发布时间:2020-04-03 09:51:20 来源:51CTO 阅读:314 作者:zjy1002261870 package com.skcc.mthread ...

  5. iOS 多线程的简单理解(1) 方式 :同步 异步

    最近遇到特别糟糕的面试,过程中提到多次对多线程的处理问题,并没有很好的给予答复和解决,所以在这里做个简单的备案: 期望能更加了解和熟练使用 多线程技术: 下面都是自己的总结,如果存在不对的,或者不足, ...

  6. 简单理解浏览器的event loop 和 JavaScript的同步异步

    为什么JavaScript是单线程的? JavaScript的主要用途是和用户进行交互以及对DOM的操作,为了避免复杂的同步问题(如果多线程,A线程对某DOM添加内容,B线程对它又进行了删除操作,这往 ...

  7. 同步异步多线程这三者关系,你能给面试官一个满意的回答吗?

    前几天一位朋友去面试,面试官问了他同步,异步,多线程之间是什么关系,异步比同步高效在哪?多线程比单线程高效在哪?由于回答的不好,让我帮他捋一下,其实回答这个问题不难,难就难在只对别人说理论,而没有现杀 ...

  8. 响应式编程(反应式编程)的来龙去脉(同步编程、多线程编程、异步编程再到响应式编程)

    响应式编程的来龙去脉(同步编程.多线程编程.异步编程再到响应式编程) 文章目录 响应式编程的来龙去脉(同步编程.多线程编程.异步编程再到响应式编程) 简介 1. 示例 2. 同步编程 3. 多线程编程 ...

  9. 进程线程、同步异步、阻塞非阻塞、并发并行、多线程

    一: 进程和线程 1: 进程(Process) 是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程.线 ...

最新文章

  1. mysql noinstall_windows mysql noinstall
  2. bootstrap easyUI 的选型
  3. 净利2.3万的香飘飘,还能做奶茶届的ZARA吗?
  4. torch中的topk()函数
  5. SGS 客户端协议解析
  6. 【实习记】2014-08-10(下)用宏来批量声明定义函数
  7. 一个顾客买了价值x元的商品(C语言)
  8. json-schema 可视化编辑器发布了
  9. uoj#246. 【UER #7】套路(dp+分块?分类讨论?)
  10. php 将表情存入数据库,php + mysql 存入表情 【如何轉義emoji表情,讓它可以存入utf8的數據庫】...
  11. YAML出现严重的反序列化漏洞,谷歌TensorFlow将采用 JSON
  12. 车联网正在大跨步发展,但安全问题仍为最大难关
  13. 【软考软件评测师】2019年下案例分析历年真题
  14. xshell文件传输乱码_xshell5 显示中文乱码解决方法,远程连接Linux CentOS
  15. matlab中角度,利用 matlab 计算各种角度
  16. python 俩冒号_python中双冒号
  17. 一个自动化专业的工控人自学编程之路
  18. 用 Python 进行多元线性回归分析(附代码)
  19. 复活Java 前言
  20. 【工作笔记】ERROR: Section image.ub.0 offset of 0x520000 overlaps with prior section end address of D19B00

热门文章

  1. PAT_B_1008_Java(20分)
  2. debug信息关闭 tp6_「Flask实战2」设置debug模式
  3. linux grpc,grpc linux下的编译使用-Go语言中文社区
  4. linux下oracle 9204 soft only,linux 下oracle 9i的安装
  5. 『设计模式』瑞幸咖啡还是星巴克,一杯下午茶让我明白 设计模式--模板方法模式(Template Method Pattern)
  6. springboot quartz动态任务处理
  7. [深度学习] PyTorch-BigGraph 使用
  8. [机器学习] --- Getting Started With MachineLearning
  9. 【Ubuntu-Tensorflow】InvalidArgumentError GPU不能使用的问题
  10. PCB 相关单位 说明