python3-启动多个线程

问题:在for循环里面想同时启动多个线程,但是程序运行过程中产生的是线程一个一个启动,即:启动第一个线程之后主线程等待子线程运行完成之后才启动第二个,代码如下:

import threading
import time
def thread(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)
def thread1(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)
def thread3(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)      
if __name__ == '__main__':tq = threading.Thread(target=thread(1), args=())tq.start()tw = threading.Thread(target=thread1(2), args=())tw.start()te = threading.Thread(target=thread3(3), args=())te.start()for i in range(10):            t = "th" + str(i)print(t)t = threading.Thread(target=thread(i), args=())    

运行结果:
在这里插入图片描述

解决:
好吧,对python多线程编程语法理解甚少,参数传递问题。

tq = threading.Thread(***target=thread(1), args=()***)
tw = threading.Thread(***target=thread1(2), args=()***)
te = threading.Thread(***target=thread3(3), args=()***)

改为:

import threading
import time
def thread(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)
def thread1(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)
def thread3(num):print("这是线程", num)for i in range(3):print('线程:', num, ':', i)time.sleep(1)    
if __name__ == '__main__':tq = threading.Thread(target=thread, args=(1,))tq.start()tw = threading.Thread(target=thread1, args=(2,))tw.start()te = threading.Thread(target=thread3, args=(3,))te.start()T_POOL = []for i in range(10):        t = "th" + str(i)print(t)t = threading.Thread(target=thread, args=(i,))  t.start()T_POOL.append(t)      tq.join()tw.join()te.join()for t in T_POOL:t.join()

运行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1549804.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【优化】Maven开启多线程构建编译 性能优化

【优化】Maven开启多线程构建编译 性能优化 提高编译的效率 IDEA配置 增加跳过测试代码的编译命令: -Dmaven.test.skiptrue 指明多线程进行编译:-Dmaven.compile.forktrue mvn -T 4 clean install mvn -T 1C clean install 以本机为例 使用记事本打…

HTML总结 2[转]

以下转载和参考自:HTML 表单。 1、表格 可以通过 CSS 设置表格的样式: 如下为将上面table.lamp th,td样式中的padding注释掉,开启table.lamp中的padding的效果: 2、列表 3、表单 表单用于收集用户的输入,如下图所…

因为懒得下载Visual Studio,而使用dotnet-cli这件事

window常用命令: 1.windows清屏指令:CLS 2.创建文件夹: mkdir 3.使用敲过的命令:↑ 或者 ↓(这个方向键) nuget官方地址:https://www.nuget.org/ 一、概述: .NET 命令行接口 (CLI) 工具是用于开发、生成、运行和发布 .NET 应用程序的跨平台工具链。 .NET CLI 附带…

10个非常有用的Python库,你知道几个?

整理|TesterHome 这里给大家介绍10个不是最流行但非常有用的Python库,希望可以提供参考帮助。 PyO3 PyO3是一个Rust库,可以让你在Rust中编写Python模块。它可以利用 Rust 的速度和安全性编写高性能的 Python 模块。 https://github.com/PyO3…

NiN(网络中的网络)

1、NiN与AlexNet的区别 卷积层的输入和输出通常是四维数组(样本,通道,高,宽),而全连接层的输入和输出则通常是二维数组(样本,特征)。如果想在全连接层后再接上卷积层&am…

【网络编程系列】NIO

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

NIO 应用-网络通信

目录 1. 服务端处理器关注读事件2. 服务端启动类3. 客户端处理器4. 客户端启动类5. 先启动服务端,再启动客户端6. 新建一个服务端处理器,同时关注读事件和写事件7. 启动类8. 先启动服务端,再启动客户端代码下载地址 1. 服务端处理器关注读事件…

人工神经网络--ANN

神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。 本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的…

LabVIEW对NI Linux RT应用程序性能进行基准测试

LabVIEW对NI Linux RT应用程序性能进行基准测试 如果应用程序具有苛刻的性能要求,则应为应用程序创建性能基准测试,以确保它满足性能要求。性能要求高度依赖于应用程序,应确定哪些性能指标很重要。下面介绍了典型的实时应用程序性能指标。 如…

NIN网络-Network In Network

图像分类系列: 0、BP前反馈神经网络原理详解 1、Lenet详解 2、Alexnet详解 3、VGG网络结构 4、NIN网络结构 5、Googlenet inception v1 结构详解、inception v2 和 inception v3 参考 https://www.cnblogs.com/makefile/p/nin.html,第一个卷积核是…

机器学习——人工神经网络(NN)

文章链接: 机器学习——卷积神经网络(CNN) 机器学习——循环神经网络(RNN) 机器学习——长短期记忆(LSTM) 机器学习——决策树(decision tree) 机器学习——随机森林…

NNI (Neural Network Intelligence)简介

是什么 NNI (Neural Network Intelligence) 是一个轻量但强大的自动机器学习(AutoML)工具包,能帮助用户自动地进行特征工程、神经网络架构搜索、超参调优以及模型压缩。 优势 支持多框架、多训练平台,中文文档,易用…

LabVIEW 设定NI-DAQmx通道的共享变量的轮询速率

LabVIEW 设定NI-DAQmx通道的共享变量的轮询速率 当使用LabVIEW共享变量引擎通过NI-DAQmx通道来发布数据时,希望数据更新速率更快。该如何设定通道对共享变量的轮询速率? 在主机上,有一个叫做Server Polling Rate(服务器轮询速率…

神经网络:Network In Network

《Network In Network》论文解读 本文来自于新加坡国立大学,原文地址: https://arxiv.org/abs/1312.4400 概述 本文提出了一种叫Network in Network的网络结构,主要贡献有两个:一是mlpconv网络结构,一是Global averag…

NIO网络通信

阻塞式IO与非阻塞式IO 传统的IO流都是阻塞式的。也就是说,当一个线程调用read() 或write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行IO操作时&#xff0c…

自动驾驶仿真:Carsim、NI和VTD联合仿真课题二

文章目录 前言一、设备配置1、硬件需求1.1 电脑一(Linux系统)1.2 电脑二(Window系统)1.3 NI实时机系统 2、网络配置2.1 IP设置 二、Carsim工程配置1、创建工程1.1 复制NI的模板,创建新工程 2、创建数据库2.1 复制数据库…

【关于NI CAN USB-8473在实际应用中的案例分析】

【NI CAN USB-8473在实际应用中的案例分析】 NI CAN USB-8473是国际上比较先进的一种控制器区域网络(Controller Area Network,CAN)总线适配器,可实现多个CAN总线与PC的连接。这种适配器的出现,在许多工业控制领域中得…

【python】pyvisa运用——NI-VISA安装和TCP/IP设备配置

文章目录 安装NI-VISA打开NI MAX新建TCPIPpyvisa验证设备连接 安装NI-VISA 安装前关闭杀毒软件,双击NI-VISA runtime17.0后 下载地址:https://download.csdn.net/download/xiakejiqiren/85110993 点击确定 默认安装路径即可,点击unzip&a…

⽹络中的网络(NIN)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。 网络中的网络(NIN) 前几节介绍的LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结…

机器学习理论与实战(十二)神经网络

神经网络又火了,因为深度学习火了,所以必须增加个传统神经网络的介绍,尤其是back propagation算法。很简单,俺也就不舞文弄墨的说复杂咯,神经网络模型如(图一)所示: (图一) (图一)中的神经网络模型是由多个感知器(perceptron)分几层组合而成,所谓感知器就是单层的…