
1 wellsc 2021-07-01 12:12:26 +08:00 via iPhone 出了 http 还有别的方式吗 |
2 pabupa 2021-07-01 12:44:22 +08:00 emmm……试试共享内存,功能肯定可以做到 |
3 CEBBCAT 2021-07-01 12:50:49 +08:00 via Android /div> 是不是就我一人儿没听懂?线程池一般不都是进程内部的吗?进程内部应该就是一个二进制吧,那还怎么跨语言调用呢? ddl/so ? 可以讲讲为什么这样设计吗? |
4 song135711 OP @wellsc 都是 io 密集型的任务 |
5 no1xsyzy 2021-07-01 13:12:46 +08:00 为什么要用次线程调度形式实现线程池? 为什么要从 Python 调用 golang 跨语言? 为什么不用 asyncio 呢? |
6 Dockerfile 2021-07-01 13:19:46 +08:00 @song135711 io 密集型的,和语言速度关系不大。就像 5 楼说的直接 python 请求就好了 |
7 wellsc 2021-07-01 13:19:56 +08:00 @song135711 跟 io 密集型有啥关系?跨语言调用除了 http 还有别的更优解吗 |
8 youngce 2021-07-01 13:53:37 +08:00 槽点有点多,“goroutine 实现的线程池“ 不应该是协程池吗? 话说回来,假如你用 python 去调 golang,中间走 http 协议,怎么说也要花费个 20ms,python 的 CPU 性能再怎么拉胯也比多一次网络 IO 强吧 |
9 est 2021-07-01 13:56:28 +08:00 goroutine 是 golang 专有的吧。py 怎么个调法? |
10 LeeReamond 2021-07-01 14:07:24 +08:00 @wellsc 老哥你回了两层了还没搞清楚状况吗...老哥在哪里高就? |
11 wellsc 2021-07-01 14:08:45 +08:00 @LeeReamond 来,键盘给你,你来说说你怎么理解的。楼主 Python 想要调用 golang 的 goroutine 用 Http 有什么问题? |
12 Dockerfile 2021-07-01 17:09:03 +08:00 @wellsc 因为本质就是做一些 http 请求,直接用 python 请求就好了,何必用 python 调 golang |
14 learningman 2021-07-01 17:18:34 +08:00 via Android @wellsc 因为见过太多 XYZ 问题了 |
15 wellsc 2021-07-01 17:23:59 +08:00 @learningman 所以说你知道 x 问题是啥吗? |
16 Dockerfile 2021-07-01 17:42:34 +08:00 @wellsc 做 http 请求能有啥背景?顺着楼主的思路解决,楼主的思路就是多此一举呀 |
17 Vegetable 2021-07-01 17:47:43 +08:00 |
18 Trim21 2021-07-01 17:51:28 +08:00 via Android 我来猜测一下,楼主是不是要用一段 golang 代码来处理请求,但是又不会写 golang ? |
19 dreampuf 2021-07-01 17:56:56 +08:00 可行,问题是从哪里开始,由 Golang serve HTTP listen 还是 Python? 如果是前者可以考虑 Python embedded Golang 的实现,参考 https://github.com/a-tal/httpy 如果是后者,可以在标准的 Python Webservice 之后将 request/response 的 fd 转给 golang 参考 https://github.com/vladimirvivien/go-cshared-examples 但是无论如何,就你提到的都是 IO 密集型任务,最终都会被转嫁成为 IO 更密集型任务。 你这个问题背后可能是对于 GIL 的不满,或者是觉得 Complied language 的灵活度的抱怨。这些都可以拆分成更细的领域去解决。当然直接混合两个运行时环境除了 ROI 不高,也没有什么问题。 |
20 keepeye 2021-07-01 18:04:50 +08:00 你这应该用 grpc 或者 mq 实现 |
21 Deeymmm 2021-07-01 23:43:22 +08:00 先学语文再学代码 |
22 song135711 OP @no1xsyzy golang 写业务代码有点慢, 另外这边开发以 python 为主 |
23 song135711 OP @dreampuf 谢谢大牛, 能麻烦再给说下 ROI 全称是什么吗, 搜到一些经济学的名词 |
24 song135711 |
25 song135711 OP @Trim21 本质上是 golang 代码来处理 python 里的请求, 写过一些 golang 代码, 不过跨运行时调用心里没底, 想看下有哪些坑 |
26 dreampuf 2021-07-02 16:09:05 +08:00 @song135711 就是你搜到的,因为资源往往不是无限的,所有的方案都会考虑一个实际投入产出比。 |
27 song135711 OP 谢谢, 学习了 |