社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Lidi Zheng

Lidi Zheng 最近创建的主题
Lidi Zheng 最近回复了
6 年前
回复了 Lidi Zheng 创建的主题 » GRPC python支持客户端和服务器上的多线程

grpc python支持客户机和服务器上的多线程。至于服务器,您将使用线程池创建服务器,因此默认情况下它是多线程的。对于客户机,您可以创建一个通道并将其传递给多个Python线程,然后为每个线程创建一个存根。此外,由于通道是用C而不是用Python管理的,因此在同一进程中为同一服务器创建多个通道不会给您带来任何性能优势。

import threading
import grpc

def worker(channel):
    stub = your_pb2_grpc.YourStub(channel)
    ...YOUR WORK WITH STUB

channel = grpc.insecure_channel(<YOUR PORT>)
your_thread = threading.Thread(target=worker, args=(channel,))
your_thread.start()

此外,如果您打算使用多处理而不是多线程,可以在此处引用 https://github.com/grpc/grpc/issues/16001 https://github.com/grpc/grpc/blob/master/doc/fork_support.md .