@

1.多任务的概念

“多任务工作”指的是当前很普遍的工作状态,一个人同时处理多件事情,比如以下这个常见的画面:写一会报告,刷一下网页,查一下资料,收一下邮件,回去做一下数据,点开微信回应一下,再回去贴图表……诸如此类。今天这个时代,专注在一件事情上,已经近乎不可能了。每个人手上都有一大堆任务,同时开着Word、Excel、PPT,微信和QQ总是同时闪动好几个头像……似乎,不能同时处理这些事情,就是能力不够。

2.线程

python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的使用

threding的使用

import threading
import time #子线程
def saySorry():
print("你好")
time.sleep(1) #主线程
if __name__ == '__main__':
for i in range(6):
t=threading.Thread(target=saySorry())
t.start()

查看当前有多少线程正在运行

import threading
import time #子线程
def thread1():
for i in range(5):
print("你好 %d"% i )
time.sleep(1) def thread2():
for i in range(10):
print("你好__%d"% i )
time.sleep(1) #主线程
if __name__ == '__main__':
t1 = threading.Thread(target=thread1())
t2 = threading.Thread(target=thread2())
t1.start()
t2.start() while True:
length = len(threading.enumerate())
print("当前的therad数目为%d" % length) if length<= 1:
break time.sleep(0.5)

菜鸟教程thread模块

#!/usr/bin/python3

import _thread
import time # 为线程定义一个函数
def print_time( threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print ("%s: %s" % ( threadName, time.ctime(time.time()) )) # 创建两个线程
try:
_thread.start_new_thread( print_time, ("Thread-1", 2, ) )
_thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
print ("Error: 无法启动线程") while 1:
pass

注意

  • 相当于使用了反射的方法,在后面加入要传入的参数,最后个参数后面加,
  • 子线程依附着主线程,所以在菜鸟的教程中加了个死循环的主线程
  • sleep为io操作,在io密集的时候使用多线程有好处,计算密集时不能节约时间

多任务-python实现-Thread的基本使用(2.1.1)的更多相关文章

  1. python中thread的setDaemon、join的用法的代码

    下面内容是关于python中thread的setDaemon.join的用法的内容. #! /usr/bin/env python import threading import time class ...

  2. 多任务-python实现-协程(2.1.11)

    多任务-python实现-协程(2.1.11) 23/100 发布文章 qq_26624329 @ 目录 1.概念 2.迭代器 1.概念 协程与子例程一样,协程(coroutine)也是一种程序组件. ...

  3. 多任务-python实现-继承Thread类,单独编写一个类(2.1.2)

    @ 目录 1.thread类 1.thread类 threding代码实现 import threading import time class MyThread(threading.Thread): ...

  4. Python多线程thread、threading(一)

    Python多线程(一) Python多线程,类似于同时执行多个不同程序,多线程运行的有点: 1.使用线程可以把占据长时间的程序中的任务放到后台去处理 2.用户界面可以更加吸引人,这样比如用户点击了一 ...

  5. python ---多线程thread

    thread 在数据预处理的时候用处不大,因为有GIL 锁 查看thread信息 import threading print(threading.current_thread()) print(th ...

  6. [Python]Threading.Thread之Daemon线程

    之前对Daemon线程理解有偏差,特记录说明: 一.什么是Daemon A thread can be flagged as a "daemon thread". The sign ...

  7. python threading.thread

    Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法:另一种是创建一个threading.Thread对 ...

  8. python 线程(thread)

    #coding:utf-8#多线程#Python的标准库提供了两个模块:thread和threading,thread是低级模块,threading是高级模块,对thread进行了封装 #绝大数情况下 ...

  9. python的thread和threading区别

    python提供了多种模块用来支持多线程编程, thread(在python3中改名为_thread),threading,和 queue模块. 通过加入queue模块,用户可以创建多个线程共享数据的 ...

随机推荐

  1. 在多个浏览器中添加IDM插件

    许多朋友下载了IDM(Internet Download Manager)不知如何使用.把包含视频的链接放到软件新建任务,下载下来的的却是网页而不是视频.该软件下载视频的其中一个方法,需安装浏览器插件 ...

  2. 怎么用CDR来批量导出图片

    我们通过CorelDRAW上方菜单栏"布局"中的"插入页面"可以创建多个页面,同时编辑,适合比如书籍排版,杂志排版等等这些需要进行多页面编辑的工作. 图1:CD ...

  3. robot 如何定义用户关键字、变量

    1.用户关键字,使用robot语法定义的关键字 2.系统关键字  自带的 3.资源文件,自己定义的关键字 4.变量 自己定义的关键字,需单独建一个资源文件 自己写的关键字,需写在***Keywords ...

  4. Postman实用小技巧

    Postman使用小技巧 软件测试工程师 张江涛 废话就不多说了,直奔主题,这里的技巧就以对话方式来阐述吧. 问:公司的环境也太多了吧,本地.开发.测试以及生产环境,这么多环境,每次使用的时候都要来回 ...

  5. Java IDEA 根据mybatis-generator-core自动生成代码支持sqlserver获取备注(二)

    mybatis generator代码生成虽然好用,但是好像不支持sqlserver获取备注信息,这里我主要分享mybatis generator改写后支持sqlserver获取备注信息,mysql以 ...

  6. PHP 统计文件数和文件大小

    /** * 统计文件数和文件大小 */private function getFileCacheCount($pathName){ $data = [ 'num' => 0, 'size' =& ...

  7. yii2.0 设置默认路由

    在config/web.php 添加 $config = [ 'defaultRoute' => 'login/login', ];

  8. k8s内网安装部署(二)

    续上篇 https://www.cnblogs.com/wangql/p/13397034.html 一.kubeadm安装 1.kube-proxy开启ipvs的前置条件 modprobe br_n ...

  9. 免费AWS云服务器一键搭建Trojan详细教程

    前言 想要撸AWS服务器的可以看我上一篇博客,这里就不介绍了,以下步骤有问题的朋友可以私信或者评论区留言. 配置AWS云服务器 选择语言,博主写了博客后才看到,前面都是使用谷歌翻译. 选择地区 创建虚 ...

  10. LGOJ5022 旅行 noip tg 2018

    旅行 标签(空格分隔): noip2018 提高组 今天我给大家带来一份题解. 题目的大大致意思是这样的: $$ 有一颗 树/基环树 求最小遍历顺序 $$ 树的情况自然不必多讲.做一些末端的微处理(将 ...