python 多线程示例

2023-11-16

python 多线程示例

import queue
import time
import threading
import threading
from datetime import datetime

# 创建一个线程安全的队列
q = queue.Queue()


def print_thread_id():
    thread_id = threading.current_thread().ident
    print(f"Current thread ID: {thread_id}")

# 生产者线程函数,往队列中放入数据
def producer(y):
    for i in range(10):
        data = f"Data {y}:{i}"
        q.put(data)
        print("Produced", data)

# 消费者线程函数,从队列中获取数据
def consumer():
    while True:
        data = q.get()
        time.sleep(1)
        if q.empty():
            now = datetime.now()
            formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
            print(formatted_time)
            break
        thread_id = threading.current_thread().ident
        print("Consumed", data, thread_id)
        q.task_done()



def ping_threading():
    threads = []
    for i in range(10):
        thread = threading.Thread(target=consumer)
        thread.start()
        threads.append(thread)
    for thread in threads:
        thread.join()

## 生产消息
for i in range(5):
    producer(i)


ping_threading()
print("END")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 多线程示例 的相关文章

随机推荐

  • 【opencv】error: (-215:Assertion failed) ssize.empty() in function ‘cv::resize‘报错原因

    这两天连续两次遇到这个问题 于是决定记录一下报错原因 1 路径有问题 路径中不能出现中文 相对路径应该改为绝对路径 路径之间应该用 而不是 2 读取的文件夹中存在不合规范的图片 我的文件夹中因为混入了一个json文件而读取失败 此时应该添加
  • 华为服务器cpu是否支持虚拟化,处理器配置 - 华为服务器 Brickland平台 BIOS 参数参考 30 - 华为...

    处理器槽位 处理器插座序号 RH8100 V3服务器的本页面与其他服务器有以下区别 单系统模式时 处理器槽位 显示为 槽位1 槽位8 双系统模式时 系统 A 的 处理器槽位 显示为 槽位1 槽位4 双系统模式时 系统 B 的 处理器槽位 显
  • cache是什么?作用是什么?位置在哪?

    文章目录 博文01 博文02 博文03 参考 01 https wenwen sogou com z q654876765 htm 02 https zhidao baidu com question 7859370 html 博文01 高
  • python水仙花数

    题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 def narcissus narcissus number grou
  • 设计模式中的五大原则

    设计模式是一种思想 是智慧的结晶了 它有利于我们快速构建高效 模块化 高扩展性的代码 这种思想不仅仅在c 中有 c代码中也是有很充分的使用 设计模式是前提 是重中之重 那比它更重要的是什么 是原则 面向对象设计五大原则 1 单一职责原则 S
  • 爬虫用拨号好还是HTTP爬虫ip池好?

    程序员小伙伴们 在进行爬虫时 你是否曾纠结于选择拨号还是代理 不要犯愁 今天我将与你分享一些实用的择优技巧 帮助你在爬虫之路上实现更高效的提速 一 拨号和HTTP爬虫ip的优劣势分析 1 拨号 优势 拨号具有动态HTTP的特点 每次拨号连接
  • ajax加载aspx页面,如何使用jquery ajax显示来自aspx页面的响应

    我使用ajax jquery来请求aspx页面 并且此页面显示GidView 因此响应将是网格视图的html代码 并且我将响应添加到DIV以显示结果 当我在第一次发出请求时正常工作 但第二次没有从响应中添加任何内容 尽管存在要绑定的数据 如
  • git 仓库迁移

    git 仓库迁移 文章目录 git 仓库迁移 在目标服务器建立新的git 功能仓库 设置git 仓库源 上传代码 验证是否成功 git远程仓库地址查看 在目标服务器建立新的git 功能仓库 git VM 0 5 centos git ini
  • MySQL中的IF语句使用

    MySQL中的IF语句 在 MySQL 数据库中 IF 语句是一种常见的条件控制语句 它可以根据指定的条件返回不同的结果 在本文中 我们将介绍 IF 语句的基本用法以及实际应用场景 IF函数 MySQL 提供了 IF 函数来实现 IF 语句
  • xcode4的自动完成功能(Code sense or Code Snippet)

    社区会员rainbird分享 自动完成包括两种含义 一种是输入字母的时候可以动态弹出一个列表 然后通过选择 提高输入效率 这种好像叫代码提示 Code sense 另一种就是输入几个字母的时候一回车 出来一串儿字符 Code Snippet
  • 把一个对象 转为JSON格式的方法

    List
  • svn的使用手册

    svn的使用手册 svn的使用手册 svn介绍 安装svn 安装VisualSVN server 安装TortoiseSVN 安装EclipseSVN插件 使用SVN Eclipse下使用SVN 合并冲突 分支 svn的使用手册 svn介绍
  • SpringBoot 实现定时任务

    定时任务 一 使用背景 二 定时任务的优点 三 SpringBoot 实现定时任务 3 0 项目结构 3 1 pom xml 3 2 启动类 3 3 服务类 3 4 cron表达式 3 4 1 时间范围 3 4 2 特殊字符 3 4 3 c
  • 启明云端分享

    提示 启明云端从2013年起就作为Espressif 乐鑫科技 大中华区合作伙伴 我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程 同时也用心推出了基于乐鑫的相关应用方案 希望你能第一时间了解并快速用上好的方案和产品
  • 微信支付接口常用参数及证书区分

    注意 服务商模式下 均是使用服务商的以下信息 1 证书 1 1商户api证书 v2和v3接口都需要使用 1 1 1获取方式 什么是商户API证书 如何获取商户API证书 商户api证书 里面介绍了如何获取商户证书的详细步骤 1 1 2作用
  • MyCAT 连接MySQL 8 注意事项

    一 问题产生 MyCat是一个基于MySQL协议的开源的分布式中间件 其核心是分库分表 但是目前MyCat仍主要面对MySQL 5 5 5 6 5 7版 对最新的MySQL 8尚未完全支持 需要用户对MySQL 8和MyCat的配置进行一系
  • Unity3d之Socket UDP协议

    原文地址 http blog csdn net dingkun520wy article details 49201245 一 Socket 套接字 UDP协议的特点 1 是基于无连接的协议 没有生成连接的延迟所以速度比TCP快 2 支持一
  • linux系统如何进入屏保,linux上屏保设置

    linux下屏保设置 Linux文本终端 字符界面屏保取消 在我们日常使用Linux过程中 经常遇到使用屏幕终端一段时间后 显示器关 闭 屏幕上没有任何显示 一段时间后 屏幕就会关闭 无任何显示 若此时系统死机或僵死 而且屏幕上有输出 当遇
  • 如何用js替换文本里的换行符 \n?

    如何用js替换文本里的换行符 n 有下面一段文本 在编辑器里的格式如下 div line1line2line3 div 切换到浏览器 显示如下 line1line2line3 这里我想使浏览器显示效果变成如下形式 line1 line2 l
  • python 多线程示例

    python 多线程示例 import queue import time import threading import threading from datetime import datetime 创建一个线程安全的队列 q queu