当前位置: 首页 > wzjs >正文

线下引流的八种推广方式东莞seo优化排名推广

线下引流的八种推广方式,东莞seo优化排名推广,房地产公司网站制作,wordpress的文章tag标签threading多线程同时运行程序 目录 threading多线程同时运行程序1 threading1.1 概念1.2 主要组件1.3 注意事项1.4 基本语法 2 代码测试2.1 分别开启线程2.2 线程连续启动 1 threading 1.1 概念 Python 的 threading 库用于实现多线程编程,允许程序在同一时间执行多…

threading多线程同时运行程序

目录

  • threading多线程同时运行程序
    • 1 threading
      • 1.1 概念
      • 1.2 主要组件
      • 1.3 注意事项
      • 1.4 基本语法
    • 2 代码测试
      • 2.1 分别开启线程
      • 2.2 线程连续启动

1 threading


1.1 概念

Python 的 threading 库用于实现多线程编程,允许程序在同一时间执行多个任务。threading 库提供了丰富的多线程编程工具,适合处理 I/O 密集型任务或需要并发执行的场景对于 CPU 密集型任务,多线程可能不会提升性能,建议使用 multiprocessing 模块,以避免 GIL(全局解释器锁)的限制。

1.2 主要组件

  • Thread 类:用于创建和管理线程。通过继承 Thread 类或直接实例化并传入目标函数来创建线程。
  • Lock 类:提供线程同步机制,防止多个线程同时访问共享资源。
  • RLock 类:可重入锁,允许同一线程多次获取锁。
  • Condition 类:用于线程间的条件同步,允许线程等待特定条件满足。
  • Semaphore 类:限制同时访问共享资源的线程数量。
  • Event 类:用于线程间的事件通知,一个线程可以等待事件,另一个线程可以触发事件。
  • Timer 类:用于在指定时间后执行函数。
  • Barrier 类:用于同步多个线程,确保它们在某个点同时继续执行。

1.3 注意事项

  • GIL(全局解释器锁): Python 的 GIL 限制了同一时间只有一个线程执行 Python 字节码,因此在 CPU 密集型任务中,多线程可能不会提升性能
  • 线程安全: 多线程编程需注意线程安全问题,避免竞争条件。
  • 调试: 多线程程序调试较为复杂,需使用适当的工具和方法。

1.4 基本语法

  • thread = threading.Thread(target=worker,args=(‘work1’,))创建线程
    • target=worker,指定线程worker,worker为def的函数名
    • args=(‘work1’,),worker函数所用到的参数,无可不写
  • thread .start()启动线程
  • thread .join()等待线程完成

2 代码测试


2.1 分别开启线程

每次线程的开启,线程和主线顺序可能都不同

代码展示:

import threading
def worker():print('开始')for i in range(5):print(f'正在worker:{i}')print('完成')
thread = threading.Thread(target=worker)
thread.start()
print('开始主线')def worker1(n):print(f'{n}开始')for i in range(5):print(f'{n}正在{i}')print('完成')thread1 = threading.Thread(target=worker1,args=('work1',))
thread1.start()
print('继续主线')

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

在这里插入图片描述

2.2 线程连续启动

可以明显看到时间的停顿,顺序不同。

代码展示:

import threading
import time
def run(n):print('task',n)time.sleep(1)print('2s')time.sleep(1)print('1s')time.sleep(1)print('0s')time.sleep(1)def run2(t):time.sleep(t)print(f'wait {t}s')if __name__ =='__main__':t1 = threading.Thread(target=run,args=('t1',))t2 = threading.Thread(target=run, args=('t1',))t1.start()t2.start()t3 = threading.Thread(target=run2, args=(5,))t4 = threading.Thread(target=run2, args=(8,))t3.start()time.sleep(10)print('开始计时')t4.start()

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

http://www.dtcms.com/wzjs/69378.html

相关文章:

  • 网站 建设 业务需求表关键词搜索量查询工具
  • 服装网站制作seo优化易下拉排名
  • 无做a视频网站电脑培训学校哪家好
  • 青岛做网站企业竞价推广是什么意思
  • 织梦网站地图样式医院网站建设方案
  • 怎样用网络挣钱优化游戏的软件
  • 慈善机构网站建设报价广告投放平台排名
  • 福建外贸网站建设百度公司的企业文化
  • 找做课件的网站百度号码
  • 安徽餐饮加盟网站建设seo指的是搜索引擎营销
  • 石家庄城乡建设网站seo算法是什么
  • 如何做话费卡回收网站五种网络营销推广方法
  • 网站开发 模块网页设计框架
  • 企业官网属于什么网站网页设计制作网站教程
  • 996建站网站制作免费推广平台哪些比较好
  • flash网站的优缺点seo网站优化外包
  • 网站关键词优化到首页后怎么做查域名的网址
  • 免费数据网站google play官网入口
  • 网站设计网站建设网站制作域名注册哪个网站好
  • 阿里云cdn wordpressseo优化入门教程
  • 简述网站首页制作过程seo论坛站长交流
  • 万网做网站怎么样app营销模式有哪些
  • 网站建设跑业务百度推广代理
  • 手机界面设计网站百度认证服务平台
  • 网站建设哪个公司b2b
  • 电子商务网站建设深圳优化seo排名
  • 网站备案和域名备案的区别百度一下网页搜索
  • 网站建设网站公司站长之家seo信息
  • 网站开发用哪个linux长沙优化网站哪家公司好
  • 天津网络推广seo长沙有实力seo优化公司