V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lolizeppelin  ›  全部回复第 31 页 / 共 51 页
回复总数  1001
1 ... 27  28  29  30  31  32  33  34  35  36 ... 51  
2018-12-19 10:04:07 +08:00
回复了 smallgoogle 创建的主题 Python Python 多进程,多线程如何分配?
仔细想了下....你现在只适合用 crontab
2018-12-19 10:03:00 +08:00
回复了 smallgoogle 创建的主题 Python Python 多进程,多线程如何分配?
别想多,直接抄 openstack 的 service 模块,多线程多进程都帮你封装好了
不要折腾什么 multiprocessing.
2018-12-14 16:31:58 +08:00
回复了 wcsjtu 创建的主题 Python Python3.6 asyncio 的协程是如何实现主动调度的?
asyncio 的不知道

具体怎么做看自己需求,常见的两种

1. release 的时候创建一个新的协程, 这个协程的内容是 switch 到 lock 的协程
这样当前协程会继续执行剩下代码.lock 的协程排序 key 是当前的时间点, 调度排位会在前面因为 io 切换的协程之后

2 release 的时候创建一个新的协程, 这个协程的内容是 switch 到当前协程, 然后立即切换到 lock 的协程
这样 lock 的协程会直接被激活, 当前协程剩余代码被调度到以后再继续执行

asyncio 常规采用那种看他代码怎么写的就是
2018-12-14 15:34:47 +08:00
回复了 wcsjtu 创建的主题 Python Python3.6 asyncio 的协程是如何实现主动调度的?
不一定会切换到主循环的协程

有可能是 release 的时候直接切换到 lock 的协程

看你怎么用的 原理就那样

你可以简单理解为未结束的协程之间 goto 来 goto 去
2018-12-14 15:20:50 +08:00
回复了 wcsjtu 创建的主题 Python Python3.6 asyncio 的协程是如何实现主动调度的?
@wcsjtu

不是... eventlet 里的 sleep 和一般的 sleep 都一个作用
用于放弃资源占用 和 epoll 无关

epoll 的作用是在 io 的时候自动切换到主循环那个协程,猴子补丁也就是让你不用自己写 epoll 代码而已

举个例子
os.listdir 如果扫描一个大文件夹,当前协程会一直占用资源 不会切换到主线程. 其他协程就不会被调度到,会被饿死
所以用 os.walk 来扫文件夹并加入计数器. 计数器超过一个值就调用 eventlet.sleep(0)切换到主线程


所以你不要光盯着 io, io 耗时,大量计算也会耗时的.自然需要有放弃占用的方法的

同样设计在 lock 里 lock 了就切换到主循环 release 就找有 lock 需要的协程切换过去

tornado 以前是怎么做的我不清楚, 至少 gevent evelet 应该是这样的 asyncio 应该也是差不多的
因为要解决的问题是一致的
2018-12-14 15:08:59 +08:00
回复了 wcsjtu 创建的主题 Python Python3.6 asyncio 的协程是如何实现主动调度的?
补充下

所有的 io 都是 都是其他协程切换到主线程的哪个协程
sleep 也是其他协程切换到主线程的那个协程
主线程的那个协程主要负责调度

release 可以是协程间互相切换也可以是切换到主线程那个协程
2018-12-14 14:57:05 +08:00
回复了 wcsjtu 创建的主题 Python Python3.6 asyncio 的协程是如何实现主动调度的?
asyncio 不熟,但是应该和 eventlet 原理一致

在 eventlet 里
有一个队列一直在不停的排序,排序的 key 是时间戳

主循环一直扫这个队列, 当前时间戳>=排序 key 就调用这个 key 对应的协程

所有的协程都是在这个队列里排序等待执行...协程的 sleep 就是修改排序的时间戳让自己的调度顺序押后

lock 也是类似原理


你对应到 asyncio 里看看调度是不是这个理
@miniyao
你不贴代码怎么帮你

谁懂你代码里做了啥影响了进程
@richzhu

和航空母舰有毛线关系
压缩这频繁计算的频繁复制 buf 的
python 又不能用多核还跑到一个进程里
你这要么进程不干活了 要么压缩死慢
python 这种不能用多核的渣渣 压缩不想办法 fork 到其他进程里干 你想卡死当前进程么

再说了 python 性能这么烂 需要经常压缩的话直接 shell 执行是性能最好的, 条件允许能不用 native 代码去压缩就不要用 python 去压文件
2018-12-10 14:37:14 +08:00
回复了 sfree2005 创建的主题 Flutter Flutter live 讨论
嵌套还好吧 不嵌套就写一堆 xml 还不是一样 2333
哪个行业不是靠销售............游戏还不一个卵样
2018-12-07 14:09:48 +08:00
回复了 lolizeppelin 创建的主题 问与答 Flutter 发了 Stable 居然没人讨论
@laike9m
看到啥?漫画软件?

之前忘记传 git 了 233

https://github.com/lolizeppelin/fluttermobile
2018-12-07 11:56:44 +08:00
回复了 lolizeppelin 创建的主题 问与答 Flutter 发了 Stable 居然没人讨论
不用等把 这基本上是站着 react 的肩膀上开始做的

基本 UI 组件都全了......

以后的更新都是动画部分了吧
2018-12-07 11:11:27 +08:00
回复了 lolizeppelin 创建的主题 问与答 Flutter 发了 Stable 居然没人讨论
我自己到是做了个漫画软件玩
但是没讨论群可以提升的 Orz
win 的原理差不多 管道什么的 都差不多逻辑

因为没 fork 处理起来比较复杂 subprocess 里怎么处理的详细读下就好,win 相关的代码还是蛮恶心的

但主要是要清楚系统这部分的原理就好了
这个和 python 没关系

了解下 wait waitpid fork 父子进程 信号 相关的 linux 知识

回头再来看你的问题就一目了然了
2018-11-29 11:16:46 +08:00
回复了 XIVN1987 创建的主题 Python 感觉 Linux 下安装 Python 包不如 windows 下清晰
和清晰没任何关系

是规范化系统管理的问题

开发喜欢瞎搞不按系统规范来做自然觉得束缚
1 ... 27  28  29  30  31  32  33  34  35  36 ... 51  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2536 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 12:26 · PVG 20:26 · LAX 05:26 · JFK 08:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.