• python开发_thread_线程基础


    说到线程,我们要知道啥是串行,啥是并行程序

    举个例子:

    串行程序,就是一个一个的执行程序

     1 #python threading
     2 
     3 import time
     4 '''
     5     每一秒中,输出:this is a demo!
     6 '''
     7 
     8 def serial():
     9     '''串行输出'''
    10     time.sleep(1)
    11     print('this is a demo!')
    12 
    13 def main():
    14     for i in range(5):
    15         serial()
    16 
    17 if __name__ == '__main__':
    18     main()

    并行程序,就是很多个程序在同一时间(宏观)一起执行

     1 #python threading
     2 
     3 import threading
     4 import time
     5 '''
     6     并行执行,输出:Good!Good!Good!Good!Good!
     7 '''
     8 
     9 def parallel():
    10     '''并行输出'''
    11     time.sleep(1)
    12     print('Good!')
    13 
    14 def main():
    15     for i in range(5):
    16         t = threading.Thread(target=parallel)
    17         t.start()
    18 
    19 if __name__ == '__main__':
    20     main()

    当然我们通过执行程序,可以知道,并行程序要比串行程序执行的要快....

    我们也可以获取到当前的线程及个数:

     1 #python threading
     2 
     3 import threading
     4 import time
     5 '''
     6     并行执行,输出:
     7     [<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>,
     8     <Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>,
     9     <Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>,
    10     <Thread(Thread-5, started 2060)>]
    11     存在的线程数 : 7
    12     Good!Good!Good!Good!Good!
    13 '''
    14 
    15 def parallel():
    16     '''并行输出'''
    17     time.sleep(1)
    18     print('Good!')
    19 
    20 def main():
    21     for i in range(5):
    22         t = threading.Thread(target=parallel)
    23         t.start()
    24 
    25 if __name__ == '__main__':
    26     main()
    27     print(threading.enumerate())
    28     print('存在的线程数 : %d'%threading.active_count())

    ========================================================

    More reading,and english is important.

    I'm Hongten

     

    大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
    Hongten博客排名在100名以内。粉丝过千。
    Hongten出品,必是精品。

    E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

    ========================================================

  • 相关阅读:
    SQL游标的小知识
    SQL游标的小知识
    SQL游标的小知识
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    ACM1998
    Leetcode 946. Validate Stack Sequences 验证栈序列
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_python_threading_basic.html
Copyright © 2020-2023  润新知