关于同步和异步的编程的粗浅说明
访问量: 1270
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倍