本文实例讲述了python开发之thread线程基础。分享给大家供大家参考,具体如下:
说到线程,我们要知道啥是串行,啥是并行程序
举个例子:
串行程序,就是一个一个的执行程序
#python threading import time ''' 每一秒中,输出:this is a demo! ''' def serial(): '''串行输出''' time.sleep(1) print('this is a demo!') def main(): for i in range(5): serial() if __name__ == '__main__': main()
运行结果如下:
>>> this is a demo! this is a demo! this is a demo! this is a demo! this is a demo! >>>
并行程序,就是很多个程序在同一时间(宏观)一起执行
#python threading import threading import time ''' 并行执行,输出:Good!Good!Good!Good!Good! ''' def parallel(): '''并行输出''' time.sleep(1) print('Good!') def main(): for i in range(5): t = threading.Thread(target=parallel) t.start() if __name__ == '__main__': main()
当然我们通过执行程序,可以知道,并行程序要比串行程序执行的要快....
我们也可以获取到当前的线程及个数:
#python threading import threading import time ''' 并行执行,输出: [<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>, <Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>, <Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>, <Thread(Thread-5, started 2060)>] 存在的线程数 : 7 Good!Good!Good!Good!Good! ''' def parallel(): '''并行输出''' time.sleep(1) print('Good!') def main(): for i in range(5): t = threading.Thread(target=parallel) t.start() if __name__ == '__main__': main() print(threading.enumerate()) print('存在的线程数 : %d'%threading.active_count())
运行结果如下:
>>> [<Thread(SockThread, started daemon 15424)>, <Thread(Thread-3, started 15840)>, <Thread(Thread-1, started 10884)>, <Thread(Thread-2, started 14512)>, <Thread(Thread-4, started 13204)>, <_MainThread(MainThread, started 12924)>, <Thread(Thread-5, started 15476)>] 存在的线程数 : 7 >>> Good!Good!Good!Good!Good!
希望本文所述对大家Python程序设计有所帮助。
本文向大家介绍python开发之基于thread线程搜索本地文件的方法,包括了python开发之基于thread线程搜索本地文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python开发之基于thread线程搜索本地文件的方法。分享给大家供大家参考,具体如下: 先来看看运行效果图: 利用多个线程处理搜索的问题,我们可以发现他很快.... 下面是代码部分: 希望本文所述对大家Py
本文向大家介绍Android开发之Wifi基础教程,包括了Android开发之Wifi基础教程的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android开发Wifi的基础知识。分享给大家供大家参考。具体如下: Android提供了WifiManager这个类,通过这个类可以进行wifi相关的各种操作。 通过 可获取该类的实例。 1. 获取wifi开启状态 (只要手机的wifi打开了,即
本文向大家介绍java线程的基础实例解析,包括了java线程的基础实例解析的使用技巧和注意事项,需要的朋友参考一下 java中建立线程可以有两种方式,分别是继承Thread类和实现Runnable接口。 继承Thread 如上,java中的线程对象必须一个类的形式创建,而该类中必须重写基类的run()方法,该方法其实就是线程的执行体。调用该类实例的start方法则就隐式的调用了run方法。 不难看
本文向大家介绍Java线程编程中Thread类的基础学习教程,包括了Java线程编程中Thread类的基础学习教程的使用技巧和注意事项,需要的朋友参考一下 一.线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解。 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就
本文向大家介绍Android基础开发小案例之短信发送器,包括了Android基础开发小案例之短信发送器的使用技巧和注意事项,需要的朋友参考一下 先看看效果图: 布局文件: activity_main.xml Java代码: 以上就是Android短信发送器的实现代码,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍nodejs基础之多进程实例详解,包括了nodejs基础之多进程实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了nodejs基础之多进程。分享给大家供大家参考,具体如下: Node.js 多进程 我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。 每个子进程总是带有三