如何在Python3中并发执行处理任务和套接字通信?

如何在Python3中并发执行处理任务和套接字通信?,python,python-3.x,sockets,python-multithreading,Python,Python 3.x,Sockets,Python Multithreading,我在理解如何使用线程模块时遇到了一些问题 在Python3中 起源:我编写了一个python脚本,在每个 for循环中摄影机流的帧。 因此,我编写了一些在主脚本中使用的函数。主脚本/循环没有封装在函数中 目标:我希望主循环一直运行。调查结果 最新帧的处理只能发送到套接字客户端 如果客户端向服务器套接字发送请求 我的想法是使用两个线程。一个用于图像处理,一个用于 侦听请求的服务器套接字获取最新映像 处理结果并将其发送到客户端套接字。 我看了不同的教程如何使用线程和理解 一般的工作流,但不是如何使用

我在理解如何使用线程模块时遇到了一些问题 在Python3中

起源:我编写了一个python脚本,在每个 for循环中摄影机流的帧。 因此,我编写了一些在主脚本中使用的函数。主脚本/循环没有封装在函数中

目标:我希望主循环一直运行。调查结果 最新帧的处理只能发送到套接字客户端 如果客户端向服务器套接字发送请求

我的想法是使用两个线程。一个用于图像处理,一个用于 侦听请求的服务器套接字获取最新映像 处理结果并将其发送到客户端套接字。 我看了不同的教程如何使用线程和理解 一般的工作流,但不是如何使用它来处理这个特殊的问题 案例所以我希望得到你的帮助

下面是原始脚本的大致结构:

import cv2
import numpy
import json
import socket
from threading import Thread

def crop(image, coords):
        ...

def cont(image):
        ...

# load parameters
a = json_data["..."]

# init cam
camera = PiCamers()

# main loop
for frame in camera.capture_continuous(...):

        #######
        # some image processing
        #######

        result = (x, y, z)
提前感谢您的想法


问候语

基本上,您必须创建一个所谓的线程池

在此线程池函数中,您可以添加要在线程中执行的函数及其特定参数。之后,您可以启动线程池

这里使用了带有.map的线程池。还有更高级的功能可以完成这项工作。您可以阅读ThreadPool的纪录片或搜索其他教程

希望有帮助