V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ysc3839  ›  全部回复第 325 页 / 共 609 页
回复总数  12175
1 ... 321  322  323  324  325  326  327  328  329  330 ... 609  
2021-09-07 19:01:32 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
我说的“协程的回调函数”不是 future 或者 JS 异步函数返回的 Promise,而是用于恢复协程执行的东西,类似 Promise 里面的 resolve 函数。
我说的 C++ 协程不是第三方实现的有栈协程,而是语言本身实现的无栈协程,这种协程不依赖具体硬件平台,而是依赖编译器实现。
可以看一下用 Babel 转换过的协程代码,或者反编译看看 C++ 协程编译后的代码,其实就是在 await 的地方拆分开。

用伪代码举个例子:
原始代码:
```
async function test() {
func_a();
await func_b();
await func_c();
func_d();
}

test();
```

处理后的代码:
```
function test(state) {
switch(state.step) {
case 0:
state.step = 1;
func_a();
func_b(test, state);
break;
case 1:
state.step = 2;
func_c(test, state);
break;
case 2:
func_d();
break;
}
}

let state = {step: 0};
test(state);
```

此时 func_b 或者 func_c 要恢复协程执行的话,只需要调用 test(state); 即可,这样可以轻松对接那些使用回调函数的库,避免回调地狱。

印象中 Python 也是类似这种模式的协程,按理说可以直接当回调函数用,但是实际上却捆绑了调度器,反而丧失了灵活性。
就像前面 @wamson 所说的,很多情况下是已经有了一个现成的使用回调函数的事件循环,想要使用 async await 的语法简化代码,这种情况下 C++ 或 JS 的协程很容易就能对接,而 Python 就做不到了。
2021-09-07 17:48:31 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 但是 JavaScript 的调度器跟它的协程关系并不大,调度器执行的是回调函数,并不跟协程深度绑定。
C++ 说的是 C++20 内置的协程。
没有调度器,也能直接通过回调函数来驱动协程执行。比如 C++ 的协程在 await 的时候,被 await 的对象能拿到协程的“回调函数”,后续执行这个回调函数就是恢复协程执行了。
2021-09-07 17:32:29 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 我就是为了用 async function 代替回调函数,并不是要用什么线程池,整个程序是单线程的,也不希望搞成多线程的模式。
这也是我不能理解 Python 协程的地方,别的语言如 C++, JavaScript 的协程就是回调函数的语法糖,但 Python 好像要有个调度器才能跑。
2021-09-07 17:19:48 +08:00
回复了 ciming 创建的主题 云修电脑 MAC 如何制作 Windows 启动盘给 PC 重装系统
UEFI 启动的话,U 盘格式化为 FAT32 格式,直接把 ISO 内的文件拷进 U 盘。不过 Windows 最近版本的镜像中 install.wim 的大小已经超过 4GB,FAT32 放不下,可以格式化成 NTFS,但是又有另一个问题,UEFI 标准不要求支持 NTFS 文件系统,所以在许多电脑上是不能直接启动的,解决方法是带一个 UEFI 的 NTFS 驱动。
2021-09-07 17:03:00 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 有用的,主要就是为了避免回调地狱。
2021-09-07 13:05:15 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 想问不用 asyncio 的情况能否实现。
2021-09-07 12:06:50 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
借楼问一下,Python 里 async function 能否当成回调函数使用?
比如说已经有一个队列了,在 await 某个对象时得到一个回调函数加入队列,后续执行这个函数恢复 async function 执行。
如果说要做成官方 iso 安装程序的话,会比较麻烦,需要自己创建软件包。
如果说要做成硬盘镜像的话,iso 是光盘镜像,不能作为硬盘镜像,建议使用其他硬盘镜像格式,或者使用基于文件的备份方案 (如 tar)。
2021-09-07 05:31:13 +08:00
回复了 Awes0me 创建的主题 Windows Windows 下有没有 Amphetamine 这样的软件?
个人觉得玩游戏时自动睡眠是合理的,用户正常游玩时会有输入操作,系统不会睡眠,当一段时间没有输入操作的话,可能是用户已经离开、不玩了,此时自动睡眠并没有问题。许多游戏主机也支持长时间没有操作自动睡眠。
看需求吧。
我最近有个项目选了 msgpack,主要不是为了节约空间,而是 C++下编解码没 JSON 麻烦。
2021-09-07 02:09:36 +08:00
回复了 muzihuaner 创建的主题 问与答 服务器安装什么系统好呢?
当然是看需求了,我自己有服务器安装 Ubuntu Server,也有 OpenWrt 。
2021-09-06 19:13:18 +08:00
回复了 chuanqirenwu 创建的主题 问与答 有没有从网页打开本地命令行工具的方案?
注册 URL Protocol 。
2021-09-06 18:40:46 +08:00
回复了 wszgrcy 创建的主题 Windows 问一个 windows 的监听文件技术
应该是一些第三方提供的解决方案。微软官方提供的大概只有差分 vhd,但这个是基于块设备的,不是基于文件的。

@jim9606 #11 简单看了一下,似乎是要安装驱动的。
2021-09-06 08:27:29 +08:00
回复了 misakawaque 创建的主题 NGINX 刚下的 nginx 怎样支持 PHP ?
2021-09-06 08:25:33 +08:00
回复了 misakawaque 创建的主题 NGINX 刚下的 nginx 怎样支持 PHP ?
2021-09-05 07:50:05 +08:00
回复了 aocif23 创建的主题 Linux aa=$(echo a), aa=`echo a`有什么区别?
@Maskeney #11 K40 是 VAB 。
2021-09-04 04:05:52 +08:00
回复了 xcsoft 创建的主题 问与答 目前如何使用 Recaptcha
https://www.recaptcha.net/recaptcha/api.js
明明没问题呀,你该不会是直接访问根目录了吧?这个域名应该只是个 API server,不是给你看的。
2021-09-04 01:19:33 +08:00
回复了 zxCoder 创建的主题 问与答 分成 access token 和 refresh token 有什么作用呢?
@zxCoder 印象中有的 API 服务是 refresh token 定时失效,refresh 时会自动续期。当然要设置一个固定的过期时间也不是不行,具体看你怎么选择了。
2021-09-03 22:32:05 +08:00
回复了 zxCoder 创建的主题 问与答 分成 access token 和 refresh token 有什么作用呢?
1 ... 321  322  323  324  325  326  327  328  329  330 ... 609  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2928 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 90ms · UTC 12:38 · PVG 20:38 · LAX 04:38 · JFK 07:38
♥ Do have faith in what you're doing.