Back

关于同步和异步的编程的粗浅说明

发布时间: 2020-05-21 09:01:00

        begin
            function1().function2().function3()
        rescue
          raise
        end

        // 2014年左右的异步编程 ( nodejs 为代表的: callback hell)
        function1().result(success: {
            function2( success: {
                function3 ( ...)
            }, failed: {})
        }, failed: {}) 

        // 之后,大家完全受不了了,就喜欢使用 jquery Q( queue)等框架,
        // 使用: 顺序执行的代码风格,来写异步操作。例如:
        function1().await.and_then(function2())

        request1 -------  request 2 -------

                 ynnnnny            ynnnnny  <--  n 代表:不需要CPU,只需要DB/硬盘的时间

        request1 -
        request2  -
        request3   -   
        request4    -   
        request5     -   
        request6      -   
        request1       - (结束) 可以看出,用同样的时刻,异步调用(event machine ),处理的行为 = 同步的6倍 

Back