zoukankan      html  css  js  c++  java
  • 并发编程基础

    并发编程技术:多线程,异步编程,并行处理,TPL数据流,响应式编程。

    并发:同时做多件事。

    多线程:并发的一种形式,采用多个线程来执行程序。

    异步编程:并发的一种形式,采用future模式或回调callback机制,以避免产生不必要的线程。

    并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程。(并行处理是多线程的一种)

    响应式编程:一种声明式的编程模式,程序在该模式中对事件做出响应。

    1.1 异步编程

    异步编程的核心:启动了的操作会在一段时间后完成,这个操作正在执行时,不会阻塞原来的线程。启动了这个操作的线程,可以继续执行其他任务。

    1.2 并行编程

    并行的形式有两种:数据并行和任务并行。

    数据并行:有大量的数据需要处理,并且每一块数据的处理过程都是彼此独立的。

    任务并行:执行大量任务,并且每个任务的执行过程都是彼此独立的。

    实现并行的做法:使用parallel类型或是PLinq

    1.3 响应式编程

    如果事件中带有参数,最好使用响应式编程,而不是常规的事件处理流程。

    响应式编程的代码,最终非常像Linq。

    1.4 TPL数据流

    TPL数据流是将异步和并行编程两者结合的技术,适合需要对数据进行一连串处理的操作。例如:从一个URL上下载数据,接着解析数据,然后把它和其他数据一起做并行处理。

    数据流网络的基本组成单元是数据流块。

    数据流块可以使目标块(接收数据)或是源块(生成数据)。

    1.5 多线程编程

    线程是一个独立运行的单元,每个进程内部有多个线程,每个线程可以各自同时执行指令。每个线程都有自己独立的栈,但是与进场内的其他线程共享内存。

  • 相关阅读:
    Python·安装扩展包的几种方法
    Arduino系列硬件资源介绍
    树莓派USB摄像头的使用
    树莓派frp服务器和客户端配置教程
    树莓派frp内网穿透
    用Windows远程桌面连接树莓派的方法
    控制窗体的位置和大小
    树霉派更换软件镜像源
    I2C的库函数应用示例
    I2C总线的Arduino库函数
  • 原文地址:https://www.cnblogs.com/shiblog/p/10024733.html
Copyright © 2011-2022 走看看