单核
同步:一件事一件事顺序执行,等待的时候也不去做别的事情,就是浪费时间。也不一定,比如有时候,需要独占资源时就需要同步机制,比如多线程经常会遇到的问题。
异步:(异步切换思想),一件事情等待的时候去做另一件事情来度过浪费掉的时间。
多核
同步:没有意义。
异步:
并行:同一件事情可以有两个核同时执行。
非并行:同一件事情必须有一个核单独来完成。
多线程实现的是或者说做的事情是:单核中;非独占cpu的业务;异步切换
让线程1做的事情中等待的时间做两件事:
让线程1Sleep;
让线程2做另一件事情;
阻塞:线程被挂起,实现绝对同步;
非阻塞:不能立刻得到结果之前,不阻塞线程,立刻返回。
多线程应用:
网络应用:天生并发性,不确定性,不可靠性,等待交互
嵌入式应用:轻量级线程切换,响应快。
进程:包含程序指令和相关资源的集合,一起参与调度竞争资源
上下文切换:每次进程切换,都存在进程资源的保护和恢复动作。