V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  abersheeran  ›  全部回复第 34 页 / 共 87 页
回复总数  1737
1 ... 30  31  32  33  34  35  36  37  38  39 ... 87  
2021-10-18 15:43:20 +08:00
回复了 monetto 创建的主题 Python Python 中 有 CAS 的实现吗
@sujin190 在 CPython 虚拟机里,是按照字节码来逐个执行的。对于一个单进程 CPython 程序来说,字节码层面的原子性就足够了,CPU 级别的才是没有意义。
2021-10-18 15:41:31 +08:00
回复了 monetto 创建的主题 Python Python 中 有 CAS 的实现吗
比较难想象 Python 怎么 CAS,l.a = b 不是原子的,这要变成三条字节码,两个 LOAD_NAME 和一个 STORE_NAME 。
如果直接用 a = b,那你压根拿不到 a 的结果,因为 Python 没有指针,函数里赋值过去就没了。
如果用 nonlocal global 去修复拿结果的问题,那就没办法做到无副作用,而且这只是换了个 name,对象所在的内存还是没有变化。

综上所述,建议直接 threading.Lock,不会有人上了 Python 还扣这个锁的性能吧?大可不必啊
2021-10-18 11:22:11 +08:00
回复了 Removable 创建的主题 电影 蚌埠住了,超人要成双性恋了
@allin1 我也反对中国的这种政治正确,封禁奥特曼、刺客五六七之类的动画的时候我也出来抨击过——就像我现在一样。虽然这种个人的抨击十分无力,但至少我来过。
2021-10-18 10:43:36 +08:00
回复了 Removable 创建的主题 电影 蚌埠住了,超人要成双性恋了
如果超人一开始就是双性恋,我什么都不说。但我这么一个从来不看美漫的人也知道的经典角色,为了可笑的政治正确就改设定?放在中国网文界,你哪怕为了中国梦改设定,读者也能马上教你做人。

如果真想宣传双性恋,那应该新开一个设定,哪怕来蹭超人的热度呢。我不看超人,我也不爱美漫,但我坚决抵制这种无聊的政治正确,哪怕这种政治正确换成“高大威猛帅气的华裔”,我也依旧反对!
2021-10-18 10:01:17 +08:00
回复了 liuzhiyong 创建的主题 分享创造 “道德经版本”项目添加了 PDF.js,可以浏览器中阅读啦
@zqx 道经的解读,各家的都可以看看。反正也挺多,佛教的、道教的、儒教的、古代的、现代的。之前看过一个僧侣解读的道经,从佛经引援,很有意思。
2021-10-15 14:57:38 +08:00
回复了 brMu 创建的主题 分享发现 终于找到一个完美的手机浏览器
看视频难道不是买个 Surface Go 最香?
2021-10-15 09:16:26 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@liuhan907 Golang 是做不到你想要的这个,忍忍或者换语言😏
2021-10-15 00:40:08 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@balabalaguguji 哈哈哈,其实如果没有给指定分组增加中间件的功能,还可以用 PATH 来绕开,只不过比较麻烦。我当时也是灵机一动,觉得这个能解决中间件的适用范围问题就加上了。
2021-10-15 00:38:28 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@liuhan907 用中间件,把数据挂到 context 上不也一样吗?像依赖 Annotation 来自动注入的应该就 Java 和 Python 了吧。
2021-10-14 20:47:59 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
好家伙,看到分组中间件、路由中间件我犹豫了一下,想着不会是那个意思吧,结果一查还真是。和我在一个 Python Web 框架里设计的,不谋而合……哈哈哈,和业界典范想到一起了还挺开心。

https://index-py.aber.sh/stable/route/#_5
https://index-py.aber.sh/stable/route/#_13
2021-10-14 17:08:16 +08:00
回复了 JerningChan 创建的主题 Python 请教个 pycharm 远程调试代码的问题
建议用代码同步工具同步上去……调试在本地
2021-10-14 17:04:52 +08:00
回复了 x86 创建的主题 问与答 德国人是不是很喜欢吃水饺?
爱吃饺子的德国人喜欢吃水饺,其他则不然。
2021-10-12 14:56:12 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
我查到了 https://github.com/snower/TorMySQL/blob/master/tormysql/platform/asyncio.py#L83

原来内部还是异步的……只是用 greenlet 把 Coroutine 转成了 Greenlet 。
2021-10-12 14:51:56 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 啥?我上面说的是把那个函数包装一个同步 SQL 查询,然后丢进异步 Web 框架里测试的结果,还不如直接在异步框架里跑同步 SQL 查询快,如果用多线程包装的异步调用,那并发能达到四倍。

TorMySQL 我没试,我只有 pg 环境,所以我才问你,你确定这么写能真正的把同步 SQL 查询包装成异步的以提高并发吗?
2021-10-12 14:07:00 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 不是,我的意思是 TorMySQL 你确定是一个能有效使用的 MySQL 异步驱动吗?如果这个比直接调用同步函数还慢,那 TorMySQL 岂不是仅挂了一个空壳?
2021-10-12 11:00:58 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
async def async_call_method(func, *args, **kwargs):
ioloop = asyncio.get_running_loop()
future = ioloop.create_future()

def finish():
try:
result = func(*args, **kwargs)
if future._callbacks:
ioloop.call_soon(future.set_result, result)
else:
future.set_result(result)
except Exception as e:
if future._callbacks:
ioloop.call_soon(future.set_exception, e)
else:
future.set_exception(e)

child_gr = greenlet.greenlet(finish)
child_gr.switch()

return await future


我还试了你在 TorMySQL 里的函数,单纯用这个函数调用同步函数,比直接调用同步函数还慢一点。
2021-10-12 10:59:14 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 #15 我深入研究了一下,发现你说的这个不就是把 asyncio 重新实现了一遍吗?我以为切换过程是自动的,结果是手动的。那这个的意义在哪儿? greenlet 的效率比 generator 也高的有限吧。
2021-10-11 14:39:49 +08:00
回复了 shyrock 创建的主题 Python 阅读 Python 代码的困难
是的,这正是动态类型语言的弱点。所以 JavaScript 有了 TypeScript,Python 有了 Type hint 。

Type hint 的例子 https://github.com/abersheeran/baize,几乎没有 Any,很接近静态类型语言了,读起来应该会比较简单。
1 ... 30  31  32  33  34  35  36  37  38  39 ... 87  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2617 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 15:56 · PVG 23:56 · LAX 07:56 · JFK 10:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.