python-多线程1
程序\进程\线程的关系:
程序(program)
一组功能集合的静态描述,程序至少有一个进程
进程(process)
进程是系统进行资源分配和调度的,他们拥有自己独立的空间,进程至少有一个线程
线程(thread)
线程是处理器调度的基本单位,他们的空间是共享的,一个进程中可以有多个线程
多线程的优点:
使用线程可以把占据长时间的程序的任务放到后台去处理,使得用户体验更好.比如,用户点击了一个按钮去触发
某些时间的处理,可以弹出一个进度条来显示处理的进度
'''
本代码主要目的:
理解多线程运行逻辑
熟悉语法和方法
''' import threading
import time #用于停顿的 class myThread(threading.Thread): #使用多线程,必须要继承父类threading.Thread
def __init__(self,threadID,name,counter):
threading.Thread.__init__(self) #固定格式,相当于线程的初始化
self.threadID = threadID
self.name = name
self.counter = counter
print('初始化完成') def run(self): #你不能确定run()在不同线程间的执行顺序,这个由CPU处理来决定的
print("开始" + self.name)
print_time(self.name,self.counter,5)
print("结束" + self.name) def print_time(threadName,counter,delay):
while counter:
time.sleep(delay)#停顿5s
print("%s:%s"%(threadName,time.ctime(time.time())))#打印线程名和时间
counter = counter - 1 #创建线程,生成两个对象
thread1 = myThread(1,"Thread-1",1)
thread2 = myThread(2,"Thread-2",2) #开启线程
thread1.start() #启动线程,每个线程对象必须至少调用一次该函数,他会自动调用run()方法
thread2.start()
可能会出现不同的结果,出现的顺序不同
初始化完成
初始化完成
开始Thread-1
开始Thread-2
Thread-1:Sat Jun 17 00:39:50 2017
结束Thread-1
Thread-2:Sat Jun 17 00:39:50 2017
Thread-2:Sat Jun 17 00:39:55 2017
结束Thread-2
python-多线程1的更多相关文章
- python多线程学习记录
1.多线程的创建 import threading t = t.theading.Thread(target, args--) t.SetDeamon(True)//设置为守护进程 t.start() ...
- python多线程编程
Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程的join方法join( ...
- Python 多线程教程:并发与并行
转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...
- python多线程
python多线程有两种用法,一种是在函数中使用,一种是放在类中使用 1.在函数中使用 定义空的线程列表 threads=[] 创建线程 t=threading.Thread(target=函数名,a ...
- python 多线程就这么简单(转)
多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初步的认识. 单线程 在好些年前的 ...
- python 多线程就这么简单(续)
之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...
- python多线程监控指定目录
import win32file import tempfile import threading import win32con import os dirs=["C:\\WINDOWS\ ...
- python多线程ssh爆破
python多线程ssh爆破 Python 0x01.About 爆弱口令时候写的一个python小脚本,主要功能是实现使用字典多线程爆破ssh,支持ip表导入,字典数据导入. 主要使用到的是pyth ...
- 【python,threading】python多线程
使用多线程的方式 1. 函数式:使用threading模块threading.Thread(e.g target name parameters) import time,threading def ...
- <转>Python 多线程的单cpu与cpu上的多线程的区别
你对Python 多线程有所了解的话.那么你对python 多线程在单cpu意义上的多线程与多cpu上的多线程有着本质的区别,如果你对Python 多线程的相关知识想有更多的了解,你就可以浏览我们的文 ...
随机推荐
- POJ 2001 Shortest Prefixes 【 trie树(别名字典树)】
Shortest Prefixes Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 15574 Accepted: 671 ...
- bigAutocomplete实现联想
直接举例说明: //xx联想 var list = $(".js-xxxx").text();//需要联想出的内容的list,该list由后台传入,保存在jsp页面,js取隐藏域值 ...
- 【Python】创建和使用类
面向对象编程是最有效的软件编写方法之一 创建Dog类 class Dog(): '''一次模拟小狗的简单测试''' def __init__(self,name,age): self.name = n ...
- Build Your Jekyll Blog (On Github)
http://kevinjmh.github.io/web/2014/04/20/build-your-jekyll-blog/ 20 April 2014 On GitHub Follow the ...
- Docker 三大核心工具
Docker-machineDocker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox. Digital Oc ...
- Android 开发资源
0x00 Android 入门资料 a. Android 学习之路 b.<第一行代码> 介绍及购买链接:http://blog.csdn.net/guolin_blog/article/d ...
- anaconda3.5 3.6 2.7
https://repo.continuum.io/archive/ Filename Size Last Modified MD5 Anaconda2-5.0.1-Linux-x86.sh 413. ...
- Django之站内搜索-Solr,Haystack
java -version 不多说 solr 是java 开发的 java version "1.7.0_79" Java(TM) SE Runtime Environment ( ...
- Xenomai for Debian Jessie
安装内核源码包 apt install linux-source-3.16 安装其他编译需要的工具: apt install build-essential libc-dev libc6-dev pk ...
- 有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。 给定数组A及它的大小n,请返回最大差值。
// ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream& ...