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

线上推广的渠道有哪些seo教程技术整站优化

线上推广的渠道有哪些,seo教程技术整站优化,网店运营是做什么的,做ppt的网站兼职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/244550.html

相关文章:

  • 网站建设通讯稿东莞做好网络推广
  • 嘉定网站公司seo查询seo优化
  • 做注册任务网站源码百度知道官网入口
  • 网站移动端就是app吗谷歌推广费用多少
  • 域名历史记录查询网站外贸平台app
  • wordpress网站分享朋友圈缩略图专业关键词优化平台
  • 企业为什么要自助建站app注册推广平台
  • 自己买域名建设网站个人免费建站系统
  • 阿里巴巴网站是怎么做的百度搜索排名机制
  • 顺义网站做的比较好的公司关键词在线听
  • 广西城乡建设委员会的网站怎么在百度上推广产品
  • 新吴区推荐做网站价格今日百度搜索风云榜
  • wordpress utc时间设置网站seo搜索
  • 称多县网站建设公司推广自己的产品
  • 阿里云的网站建设好不好微信群二维码推广平台
  • wordpress 文章 函数宁波企业seo推广
  • 专业外贸网站制作价格app线下推广怎么做
  • 深圳市最新出行政策北京seo网站开发
  • 搬瓦工做网站在线bt磁力搜索
  • 东莞做网站优化网站收录什么意思
  • 建筑设计类英文的网站如何让百度搜索排名靠前
  • 怎么做网站备份百家号优化
  • 网站推广建设阶段浏览器下载
  • wordpress粉丝主题网站优化内容
  • 展厅展馆设计公司简介seo关键词排名优化
  • 网站做跳转链接黄页网
  • 贵州省建设监理协会网站百度竞价代理商
  • 赣州哪里可以做网站sem全称
  • 重庆网上房地产网站企业网站设计要求
  • 怎么做冒牌网站电商培训机构哪家强