同异步

简介:

nginx服务

1.同步和异步的区别
(1)同步:当一个同步调用发出去后,调用者需要一直等待调用的结果通知,才能进行后续的执行;
(2)异步:当一个同步调用发出后,调用者不必一直等待调用返回的结果;
两种方式:
1.主动轮询异步调用的结果
2.被调用方通过callback回调通知,来通知调用方调用结果

2.阻塞和非阻塞
阻塞和非阻塞的重点是在于进/线程等待消息的行为,也就是在等地啊消息的时候,当进/线程是挂起状态,还是非挂起状态

(1)阻塞:调用在发出去之后,在消息返回之前,当进/线程会被挂起,直到有消息返回,当前的进/线程才会被激活
(2)非阻塞:调用在发出去后,不会阻塞当前进/线程,而会立即返回

同步和异步,重点在于消息通知的方式;阻塞和非阻塞,重点在于等消息时候的行为。

四种组合方式:
老王烧水
同步阻塞:老王用水壶烧水,并且站在那里等着,啥都不干,每隔一定时间看水开没开;
同步非阻塞:老王用水壶烧水,跑回屋里玩游戏,但是还会每隔一段时间过来看看水开没开,水没开就回去

异步阻塞:老王这次使用响水壶烧水,站在那里啥都不干,但是不会再每个一段时间去看水开,而是等水开了,水壶会自动通知他
异步非阻塞:老王使用响水壶烧水,跑回屋里玩游戏,等着水壶响了通知他

1.进程和线程
进程(process):是windows系统中的重要概念,它包含着一个运行程序所需要的资源;一个正在运行的应用程序在操作系统中被视为一个进程(进程可以包含一个或多个线程);进程和进程之间是相互独立的,一个进程无法访问另外一个进程的数据
线程(thread):是进程中的基本执行单位,一个进程可以包含若干个线程,在进程入口执行的第一个线程被称为这个进程的主线程

进程和线程的区别:主要区别是它们是不同操作系统资源管理方式;
一个程序至少有一个进程,一个进程至少有一个线程
进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径
线程不能够独立执行,必须要在应用程序中,由应用程序提供多个线程执行控制

目录
相关文章
|
前端开发 JavaScript 应用服务中间件
VUE3(十八)vue 路由history 模式去掉 URL 中的 # (nginx)
这部分内容比较少。其实更多的是参考一下vue-router4的官方文档就好。 但是,去掉#之后的路由在配合php框架使用的时候可能会有问题,就是这个链接不知道该去后端还是去前端的路由。
1379 0
VUE3(十八)vue 路由history 模式去掉 URL 中的 # (nginx)
|
关系型数据库 数据库 PostgreSQL
PG源码分析系列:内存上下文
title: Pgsql源码分析——内存上下文 date: 2018-05-01 22:00:00 categories: - Postgresql - PgSource Postgresql内存上下文源码分析 1 数据库内存上下文   postgresql在7.1版本引入了内存上下文机制来解决日益严重的内存泄漏的问题,在引入了这种“
2013 1
|
12月前
|
监控 Java Sentinel
Hystrix 与 Sentinel 大比拼:微服务稳定性工具谁更优?
Hystrix 和 Sentinel 是用于微服务架构中保护服务稳定性和可靠性的工具,主要实现服务熔断、限流、降级等功能。Hystrix 侧重于熔断器模式和服务隔离,通过线程池或信号量隔离服务,防止故障扩散;Sentinel 则更全面,涵盖流量控制、熔断降级和系统自适应保护,适用于高并发场景,并提供实时监控和灵活的策略调整。两者设计理念不同,Hystrix 适合中小规模应用,而 Sentinel 更适合大规模高并发系统。
372 0
|
IDE Java 编译器
Java的命名规范
Java的命名规范
685 2
|
监控 安全 iOS开发
|
存储 缓存 运维
Redis 的开发规范和常见问题 | 学习笔记
快速学习 Redis 的开发规范和常见问题
Redis 的开发规范和常见问题 | 学习笔记
|
开发框架 网络协议 安全
r0capture安卓应用层通杀脚本-使用文档
r0capture安卓应用层通杀脚本-使用文档
r0capture安卓应用层通杀脚本-使用文档
|
安全 API Go
我的免杀之路:远程线程注入
远程线程注入技术能实现在Windows系统下进程的隐藏。其主要核心在于一个Windows API函数CreateRemoteThread,通过它可以在另外一个进程中注入一个线程并执行。
1352 0
我的免杀之路:远程线程注入
|
安全 Java 数据安全/隐私保护
SpringBoot项目启动后网页显示【Please sign in】的解决办法
SpringBoot项目启动后网页显示【Please sign in】的解决办法
SpringBoot项目启动后网页显示【Please sign in】的解决办法