Event Loop、函数式编程、IO多路复用、事件驱动、响应式、

IO多路复用、事件驱动、响应式概念类似或者一样

就是很多网络连接(多路),共(复)用少数几个(甚至是一个)线程。

连接很多的时候,不能每个连接一个线程,会耗尽系统内存的。线程也不能阻塞在任何一个连接上,等新的数据来,这样就不能及时响应其他连接发来的数据了;也不能用非阻塞方式,轮询所有的连接,这会浪费掉大量CPU时间;只能告诉系统,我对哪些连接感兴趣,有消息来的时候,通知我处理。

IO多路复用:

  一种在后端网络编程中的一种技术

  IO多路复用机制详解    服务器,并发,“事件驱动”的本质    IO多路复用机制详解

Event Loop:

  一种前端技术?

  多用于前端概念 JavaScript    Node.js    iOS的Run loop

事件驱动:

  处理事物方式上的叫法?

  Node.js    React

函数式编程:

  语言层面的感念

  为什么这两年函数式编程又火起来了呢?

  0:在C++ Java中都是语法糖等级的东西,换言之不加入一样也有高阶函数。

  1:Python, C#, Perl, JS, VB, 都是2010前加入Lambda的(Dart, Swift的确有2010后Lambda,不过他们俩就是2010后出的语言)

  2:如果说其他的,C#, Python的List Comprehension也是2010前的,Java Generic则是1998由Philip Walder(Haskell界大佬), Martin Odersky(Scala界大佬)搞出来的

  3:如果要说更远的影响力,Smalltalk都被Lisp严重影响,然后Smalltalk再影响现在一大推OO语言。

响应式编程:

  一种突出技术特点式的叫法?

  iOS相关:ReactiveCocoa   RxSwift

  

原文地址:https://www.cnblogs.com/liyonghua/p/8269946.html

时间: 2024-12-30 01:53:46

Event Loop、函数式编程、IO多路复用、事件驱动、响应式、的相关文章

理论铺垫:阻塞IO、非阻塞IO、IO多路复用/事件驱动IO(单线程高并发原理)、异步IO

完全来自:http://www.cnblogs.com/alex3714/articles/5876749.html 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network IO. 一 概念说明 在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,

JAVA IO编程 IO多路复用底层机制

前面IO模型中有提到IO多路复用,这里介绍下linux下的三种机制(基于多路复用模型的) select,poll,epoll 反应器模式Reactor和Proactor模式 两者的主要区别是就是真正的读取和写入操作是由谁来完成的 Reactor中需要应用程序自己读取或者写入数据 Proactor模式,应用程序不需要进行实际的读写过程,它只需要从缓存区读取或者写入即可,操作系统会读取缓存区或者写入缓存区到真正的IO的设备 Reactor(反应器模式) 说明你可以进行读写操作了,关注的是IO操作的就

javaScript函数式编程-包含闭包、链式优化及柯里化

本文着重介绍个人理解的函数式编程. 函数式编程个人理解为:以函数为主要载体的编程方式. 好处: 语义更加清晰 可复用性高 可维护性好 作用域局限.副作用少 基本函数式编程: //实现数组中每个单词首字母大写 //一般写法 const arr = ['apple','orange','pear']; for(const i in arr) { const c = arr[i][0]; arr[i] = c.toUpperCase() + arr[i].slice(1); //slice()从已有的

FRP-Functional Reactive Programming-函数响应式编程

响应式编程是一种面向数据流和变化传播的编程范式: 响应式编程和函数式编程的融合: 响应式编程为内核:函数式编程为工具: 流的概念先天适合函数式编程. Some quotes from the article: Reactive programming is programming with asynchronous data streams. On top of that, you are given an amazing toolbox of functions to combine, cre

响应式编程系列(一):什么是响应式编程?reactor入门

响应式编程 系列文章目录 (一)什么是响应式编程?reactor入门 (二)Flux入门学习:流的概念,特性和基本操作 (三)Flux深入学习:流的高级特性和进阶用法 (四)reactor-core响应式api如何测试和调试? (五)Spring reactive: Spring WebFlux的使用 (六)Spring reactive: webClient的使用 引言 Spring framework 5 的一大新特性:响应式编程(Reactive Programming).那么什么是响应式

(10)响应式宣言、响应式系统与响应式编程——响应式Spring的道法术器

本系列文章索引<响应式Spring的道法术器>前情提要 响应式编程 | 响应式流 1.5 响应式系统 1.5.1 响应式宣言 关注"响应式"的朋友不难搜索到关于"响应式宣言"的介绍,先上图: 这张图凝聚了许多大神的智慧和经验,见官网,中文版官网,如果你认可这个宣言的内容,还可以签下你的大名.虽然这些内容多概念而少实战,让人感觉是看教科书,但是字字千金,不时看一看都会有新的体会和收获. 这也是新时代男朋友的行为准则: Responsive,要及时响应,24

Android 响应式编程 RxJava2 完全解析

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/68941859 使用了 RxJava2 有一段时间了,深深感受到了其"牛逼"之处.下面,就从 RxJava2 的基础开始,一步步与大家分享一下这个强大的异步库的用法!RxJava 是 一个在 Java VM 上使用可观测的序列来组成异步的.基于事件的程序的库,也就是用于实现异步操作的库. 1.RxJava2 基础 RxJava可以浓缩为异步两个字,其核心的东西不外乎两个,

响应式编程(Reactive programming)

响应式编程是指确保程序对事件或输入做出响应的做法.在这一节,我们将专注于图形界面方面的响应式编程,图形界面总量响应式的.然而,其他网格的编程也需要考虑响应式编程,例如,运行在服务器上的程序总是需要保持对输入作出响应,即使是在它处理其他需要长时间运行的任务期间.我们将在第十一章实现聊天服务器时,会看到在服务器编程方面也要用到这里讨论的一些方法. 大多数图形界面库使用事件循环去处理绘制图形界面,以及与用户之间的交互,就是说,一个线程既要负责绘制图形界面,也要处理其上的所有事件,我们称这种线程为图形界

(3)lambda与函数式——响应式Spring的道法术器

本系列文章索引:<响应式Spring的道法术器>前情提要: 什么是响应式编程 | 响应式流本文源码 1.3 Hello,reactive world 前面两篇文章介绍了响应式编程和响应式流的特性,一味讲概念终是枯燥,还是上手敲一敲代码实在感受一下响应式编程的"手感"吧. 这一节,我们先了解一下lambda与函数式(已经了解的朋友可以直接跳到1.3.2),熟悉一下如何使用Reactor进行响应式编程,然后使用Spring Boot2,基于Spring 5的Webflux和Re

响应式编程总结

响应式编程关注的是变化及其传播. 响应式编程的着重点在于响应,即对变化做出的反应. 它的要素有四个: 1.数据拥有方: 2.数据使用方: 3.传播机制: 4.传播(处理)链条. 响应式编程的特征: 是数据拥有方向外部传播数据的变更,还是数据使用方接收到数据变化信号后从数据提供方获取数据: 数据的流通是通过set激发传播,还是get激发获取: 数据的提供方push,还是数据的使用方pull: 数据的使用方是被动等待数据,还是主动获取数据. 数据是通过函数的参数链传播,还是通过函数的返回值返回: 数