Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grpc python支持客户端和服务器上的多线程_Python_Multithreading_Grpc - Fatal编程技术网

grpc python支持客户端和服务器上的多线程

grpc python支持客户端和服务器上的多线程,python,multithreading,grpc,Python,Multithreading,Grpc,我想知道grpc python是否支持多线程?请分享一些参考资料。 我已经用单线程编写了代码,但不知道如何用多线程编写 gRPC Python在客户端和服务器上都支持多线程。至于服务器,您将使用线程池创建服务器,因此默认情况下它是多线程的。对于客户端,您可以创建一个通道并将其传递给多个Python线程,然后为每个线程创建一个存根。此外,由于通道是用C而不是Python管理的,因此在同一进程中创建多个到同一服务器的通道不会给您带来任何性能优势 import threading import grp

我想知道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()

此外,如果您打算使用多处理而不是多线程,您可以在此处和中引用。

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()

此外,如果您打算使用多处理而不是多线程,您可以参考此处和。

请不要只是要求我们为您解决问题。向我们展示你是如何尝试自己解决问题的,然后向我们展示确切的结果,并告诉我们为什么你觉得它不起作用请不要只是要求我们为你解决问题。向我们展示你自己是如何试图解决问题的,然后向我们展示结果到底是什么,并告诉我们为什么你觉得它不起作用