zoukankan      html  css  js  c++  java
  • 并发编程理论

    并发与并行

    --并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。简言之,是指系统具有处理多个任务的能力。

    并发

    当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。简言之,是指系统具有同时处理多个任务的能力。
    多个进程切换执行,由于CPU处理速度较快,往往看上去在同时执行.
    原理:CPU从硬件层面将内存分割开,使得进程在自己独立的内存中运行,CPU每次只处理一个进程,当这个进程进入阻塞状态(多为IO)时,或者是执行时间            超过设定时间时,CPU切换至别的就绪状态的程序去执行,等到该程序结束IO(阻塞状态)进入就绪状态时,cpu才会切换回来继续执行该进程
    

    并行

    多个进程同时运行,要求多核才能实现
    

    阻塞与非租塞

    阻塞

    就是等待状态,当进程进入IO状态或者时,cpu需要等待其结果是,那么就是进入阻塞状态,当服务器连接一个客户端,接收不到客户端数据时,也是阻塞状态
    

    非阻塞

    不需要等待的状态就是非阻塞状态
    

    详情参考:并发并行同步异步阻塞非阻塞详解

  • 相关阅读:
    Spring IOC知识点一网打尽
    Spring中-IOC-Bean的初始化-循环依赖的解决
    原型模式(Prototype)
    生成器模式
    工厂模式
    单例模式
    查询性能优化
    索引
    sql游标的使用入门
    js和C#中的编码和解码
  • 原文地址:https://www.cnblogs.com/luowenConnor/p/10963217.html
Copyright © 2011-2022 走看看