并发:将多核cpu的计算能力发挥到极致了。在实际业务中,将将任务进行了拆分。以多线程的方式完成任务。
当然这样也是有缺点的:多线程面临的是频繁的上下文的切花,这样会消耗cpu的性能。以及线程安全问题。
为了解决这一缺点,有四种方案:
1:锁分段技术
2:CAS,利用atomic的CAS算法,来避免不必要的锁竞争带来的上下文切换。
3:使用最少线程。
4:协程:在单线程里实现多任务的调度,并在单线程里维持多个任务间的切换
同步VS异步
同步:当前被调用方法的没有结束之前,不能执行之后的代码。
异步:不必等待被调用方法结束,可以执行其他的代码。
并发与并行
并发:是指多个任务交替执行。
并行:是指串行执行。
阻塞和非阻塞
阻塞:是有线程在执行的时候,导致有的线程被阻塞了。例如被其他线程占用了资源。
非阻塞:是指,没有其他线程能阻塞。
临界区
公共资源,被多个线程共享的。