首页   注册   登录

BBCCBB

V2EX 第 248419 号会员,加入于 2017-08-13 19:15:35 +08:00
今日活跃度排名 2654
[macos] Vim 配色显示很淡,有遇到的小伙伴吗?
macOS  •  BBCCBB  •  181 天前  •  最后回复来自 BBCCBB
8
坐标成都, 换工作, Java /go 都可以,请大佬推荐靠谱的公司,感谢
求职  •  BBCCBB  •  2018-03-07 03:04:41 AM  •  最后回复来自 xiaol825
21
mysql 可以采用 binlog 解析, postgresql 对于这种情况怎么操作呢?
程序员  •  BBCCBB  •  2017-12-26 14:18:37 PM  •  最后回复来自 BBCCBB
4
`蚂蚁金服`最近是在广撒网吗?还是真的是业务发展太快了.
程序员  •  BBCCBB  •  2017-11-27 11:48:17 AM  •  最后回复来自 BBCCBB
4
vim+plug.vim, 为什么不加载~/.vim/autoload/文件夹下的 plug.vim 文件呢
Vim  •  BBCCBB  •  2017-10-02 21:49:35 PM  •  最后回复来自 BBCCBB
15
macos+vim+plug.vim, 为什么不加载~/.vim/autoload/文件夹下的 plug.vim 文件呢
macOS  •  BBCCBB  •  2017-10-02 17:22:27 PM  •  最后回复来自 BBCCBB
2
BBCCBB 最近回复了
9 小时 36 分钟前
回复了 rizon 创建的主题 程序员 Java 对象转 map 有什么好用的工具吗?
或者 dozer 也可以,不过 jackson 就可以满足需求,没必要引入 dozer
9 小时 36 分钟前
回复了 rizon 创建的主题 程序员 Java 对象转 map 有什么好用的工具吗?
有 convert 的 api.
9 小时 36 分钟前
回复了 rizon 创建的主题 程序员 Java 对象转 map 有什么好用的工具吗?
Jackson 就可以
建议你先仔细看看官方文档。不然你理解起来很费劲。我们解释起来也费劲。
因为你代码 1 里调用 await 一个协程函数的时候他才加进去啊,又不是你写了 await, 在开始运行的时候就加进去的。。。你 await worker2 的时候, 你 await 的 worker1 早就执行完了。毕竟你 await worker2 的顺序在 await worker1 之后。
create_task 返回的是已经被加入到调度器的 task, 你不用 await, 也可以直接用 task.done(), task.result()等方法来获取该 task 执行的结果。

而且你对代码 1 里只有 main()这个函数会被转换成 task 这个理解也不正确,async 函数 也会被创建成 task 加入到 eventloop 中。 eventloop 是不会直接执行 async 函数的
你代码 1 里明显是一个一个创建的 task。你又没有显示的加入到 eventloop, 那就只能是在 await 的时候才加进去执行


@zdnyp 我是说这个 task 让出 cpu,让其他的 task 执行。。
我都没看你的猜想 =_=
create_task 创建后就加入到了调度器,就会被执行, 不是说等你 await 他的时候他才执行,await 只是等待他执行完成。
你代码 1 是顺序执行的,
代码 2 加入 create_task 实际上已经把 worker1 和 worker2 这两个函数创建成 task 加入到了 eventLoop 里,你 worker1 函数里有 await sleep(1) , 让出 cpu 后 eventLoop 会继续调度下一个,这里基本就是 worker2. 所以第二个看起来像并行的, 这里的并行是指你 worker1 里主动让出了 cpu, 所以 worker2 在你 worker1 sleep 的过程中可以运行了。

大概应该就是这个道理
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   931 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 15ms · UTC 19:46 · PVG 03:46 · LAX 12:46 · JFK 15:46
♥ Do have faith in what you're doing.