Python线程的用法 函数式线程_thread和threading 样例
函数式线程写起来比较简单,但是功能没有threading那么高级,先来个函数式编程样例:
#!/usr/bin/python
#coding: utf-8 #————————————————————————函数式线程————————————————————————————————————————
#QQ496631085 小和 XiaoHe
import _thread
import time def print_time(threadName,delay):
count = 0
while count<4:
time.sleep(delay)
count += 1
print(threadName,time.ctime()) print(time.ctime())#打印现在时间以方便对比
_thread.start_new_thread(print_time,("thread-1",2))
_thread.start_new_thread(print_time,("thread-2",4))
time.sleep(200)#不加这个有的编译器,直接到最后就停止整个程序运行了,看不出效果
print("end") #————————————————————————函数式线程————————————————————————————————————————
然后就是threading线程样例:
#!/usr/bin/python
#coding: utf-8 #===========================threading======================================== #QQ496631085 XiaoHe
import threading
import time class myThread(threading.Thread):
"""docstring for myThread"""
def __init__(self, name,delay):
threading.Thread.__init__(self)
print(name+"线程开始时间" +time.ctime()) self.name =name
self.delay = delay def run(self):
print("Starting " + self.name + time.ctime())
print_time(self.name, self.delay)
print("Exiting " + self.name + time.ctime()) def print_time(threadName, delay):
counter = 0
while counter < 3:
time.sleep(delay)
print("延时" + threadName ,time.ctime())
counter+=1 threads =[]
#创建新线程
thread1= myThread("Thread-111",2)
thread2= myThread("Thread-222",4) #开始新线程
thread1.start()
thread2.start() #添加线程到线程列表 然后一直等待线程终止
threads.append(thread1)
threads.append(thread2) #等待线程结束
for t in threads:
t.join()
print("线程结束")
#===========================threading========================================
如果觉得这个还慢有不足的地方,可以试试queue的多线程爬虫
Python线程的用法 函数式线程_thread和threading 样例的更多相关文章
- Python Web框架Tornado的异步处理代码演示样例
1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...
- Python sleep()函数用法:线程睡眠
如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用 time 模块的 sleep(secs) 函数来实现.该函数可指定一个 secs 参数,用于指定线程阻塞多少秒. 当前线程调用 ...
- Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例
1,加速传感器可以监听到x,y,z三个方向的加速度,使用步骤如下: (1)实例化CMMotionManager类 (2)向CMMotionManager的accelerometerUpdateInte ...
- Java中foreach用法,增强型的for循环的样例和解释
JDK1.5加入的增强for和循环. 这段时间又回顾了一下JAVA基础 foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集 ...
- C#线程池用法
C#线程池用法 在C#编程语言中,使用线程池可以并行地处理工作,当强制线程和更新进度条时,会使用内建架构的ThreadPool类,为批处理使用多核结构,这里我们来看在C#编程语言中一些关于来自Syst ...
- python自动化开发学习 进程, 线程, 协程
python自动化开发学习 进程, 线程, 协程 前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这 ...
- python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享
Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...
- python中的进程、线程(threading、multiprocessing、Queue、subprocess)
Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...
- Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程)
一.paramiko 二.进程.与线程区别 三.python GIL全局解释器锁 四.线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生 ...
随机推荐
- python之路-模块初识
# sys模块 import sys #print (sys.path) #打印环境变量 print (sys.arge) print (sys.arge[2]) # os模块 import os # ...
- 自动调参库hyperopt+lightgbm 调参demo
在此之前,调参要么网格调参,要么随机调参,要么肉眼调参.虽然调参到一定程度,进步有限,但仍然很耗精力. 自动调参库hyperopt可用tpe算法自动调参,实测强于随机调参. hyperopt 需要自己 ...
- bash循环
bash脚本-循环02 bash脚本编程:循环 执行流程: 1.顺序执行 2.选择执行:if 3.循环执行:for,while,until 1.循环执行的条件 进入条件: for:列表元素非空 w ...
- 使用Maps与Sets处理集合的交差运算
import com.google.common.collect.MapDifference; import com.google.common.collect.Maps; import java.u ...
- Linux 安装Python37
1.下载python3.7.0 https://www.python.org/downloads/release/python-370/ 2.创建Linux的python37目录 mkdir /usr ...
- (2018 Multi-University Training Contest 3)Problem L. Visual Cube
//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330//题目大意:按照一定格式画出一个 a×b×c 的长方体. #include <b ...
- selenium的三种等待方式
selenium有三种等待方式 1.time.sleep() 设置等待最简单的方法就是强制等待,但一般不建议使用,可以在调试的时候进行使用 2.隐性等待 driver.implictily_wait( ...
- selenium的定位方式
1.selenium的定位方式 selenium有18种定位方式,8种单数,8种复数,2种父类 2.8种单数定位方式 from selenium import webdriverimport time ...
- MNIST机器学习入门
"python: 3.5" # -*- coding: utf-8 -*-"""Created on Tue Oct 16 15:29:38 2018 ...
- css中关于单位的一些问题
Css中关于单位的一些问题 相对字体长度: Em:Em 是一个相对单位.起初排版度量时是基于当前字体大写字母”M”的尺寸的.当改变font-family时,它的尺寸不会发生改变,但在改变font-si ...