程序\进程\线程的关系:

程序(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的更多相关文章

  1. python多线程学习记录

    1.多线程的创建 import threading t = t.theading.Thread(target, args--) t.SetDeamon(True)//设置为守护进程 t.start() ...

  2. python多线程编程

    Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程的join方法join( ...

  3. Python 多线程教程:并发与并行

    转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...

  4. python多线程

    python多线程有两种用法,一种是在函数中使用,一种是放在类中使用 1.在函数中使用 定义空的线程列表 threads=[] 创建线程 t=threading.Thread(target=函数名,a ...

  5. python 多线程就这么简单(转)

    多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初步的认识. 单线程 在好些年前的 ...

  6. python 多线程就这么简单(续)

    之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...

  7. python多线程监控指定目录

    import win32file import tempfile import threading import win32con import os dirs=["C:\\WINDOWS\ ...

  8. python多线程ssh爆破

    python多线程ssh爆破 Python 0x01.About 爆弱口令时候写的一个python小脚本,主要功能是实现使用字典多线程爆破ssh,支持ip表导入,字典数据导入. 主要使用到的是pyth ...

  9. 【python,threading】python多线程

    使用多线程的方式 1.  函数式:使用threading模块threading.Thread(e.g target name parameters) import time,threading def ...

  10. <转>Python 多线程的单cpu与cpu上的多线程的区别

    你对Python 多线程有所了解的话.那么你对python 多线程在单cpu意义上的多线程与多cpu上的多线程有着本质的区别,如果你对Python 多线程的相关知识想有更多的了解,你就可以浏览我们的文 ...

随机推荐

  1. 如何让<input type="text" />中的文字居中

    高(height)和行高(line-height)相等.不能用vertical-align

  2. 使用jquey的css()方法改变样式,

    $("#tip").css("display","none"); $("#tip").css("display ...

  3. Python操作Execl 实现自动化填表

    任务简述: 表1是一个简单的数据表,共有110行,25列.第1行是表头,例如“负责人”.“事项”.“期限”等. 第2行——第110行是对应的数据,如“张三”.“搬砖头”.“3天”. 想要做的表(表2) ...

  4. zabbix 3.2.4 安装

    一.安装mysql . 安装必备组件 yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c+ ...

  5. JS——特效秀

    0.凛冬将至,用几款特效暖暖身    ①.tab图片切换: ②.索引图片切换:    ③.统计图: ④.滚动条分页:   1.Canvas跳动彩球时间动画特效  

  6. Socket的UDP协议在erlang中的实现

    现在我们看看UDP协议(User Datagram Protocol,用户数据报协议).使用UDP,互联网上的机器之间可以互相发送小段的数据,叫做数据报.UDP数据报是不可靠的,这意味着如果客户端发送 ...

  7. git 工具 - 子模块(submodule)

    From: https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 子模块 有种情况我们经常 ...

  8. C语言补漏(1)--- char到int赋值的一个陷阱

    作为一个C的新手(虽然学的第一门语言就是C,可是用C实际开发项目却是最近的事情),对使用C过程中遇到的各类问题.疑惑.知识漏洞进行弥补无疑是非常有必要的,于是决定将每次遇到的知识漏洞写到博客上. 今天 ...

  9. MySQL 忘记密码解决办法

    第一步: 关闭MySQL服务.  第二步: 打开DOS窗口,在里面输入安装MqSQL的目录本机为:C:\Program Files\MySQL\MySQL Server 5.6\bin 第三步: 在命 ...

  10. 大白第一章第四节dp例题

    入口 UVALive - 3882 #include<cstdio> using namespace std; ; int n,m,k,f[N]; int main(){ //f[i]表示 ...