处理器活动的三种状态和同步异步详解

处理器活动的三种状态

实际上我们可以将每个处理器在任何指定时间点上的活动必然概括为以下三者之一。

  • 运行于用户空间,执行用户进程。

  • 运行于内核空间,处于进程上下文,代表某个特定的进程执行。

  • 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

    PS:当CPU空闲的时候,内核就运行一个空进程,处于进程上下文,但运行于内核空间。

同步和异步的区别

同步主要是等所有的操作都做完,才返回给用户。这样会给用户一种不太良好的体验。

异步可以将用户请求放置于消息队列中,并反馈给用户。

相对于同步,异步的用户体验效果较好。因为异步先响应用户请求。

异步操作例子:

为了避免短时间大量的数据库操作,就使用缓存机制,也就是消息队列。先将数据放入消息队列,然后再慢慢写入数据库。

引入消息队列机制,虽然可以保证用户请求的快速响应,但是并没有使得我数据迁移的时间变短(即80万条数据写入mysql需要1个小时,用了redis之后,还是需要1个小时,只是保证用户的请求的快速响应。用户输入完http url请求之后,就可以把浏览器关闭了,干别的去了。如果不用redis,浏览器不能关闭)。

不过同步调用可以直接得到正确的结果,异步调用不可以直接得到正确的结果,异步调用必须通过被调用者提供的某种机制,例如被调用者通知调用者,调用者反复查询、回调。

阻塞和非阻塞

既然有同步和异步,那么就有阻塞和非阻塞,这两个其实很简单,就是调用者能否在调用的时候做其他事情。

阻塞情况下,你必须等待结果,无法做其他事情。

非阻塞情况下,调用者可以去做其他事情。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J6wuli

掉头发容易,挣钱难,跪求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值