• 第 8 天 多线程与多进程


    1、输入数据截取指定字段

     1 mandatory_fields = ["-p","-s"]
     2             for i  in mandatory_fields:
     3                 if i not in self.args:
     4                     sys.exit("33[31;1mLack of argument [%s]33[0m" % i)
     5             try:
     6                 self.ftp_host = self.args[self.args.index("-s") + 1]
     7                 self.ftp_port = int(self.args[self.args.index("-p") + 1])
     8             except (IndexError,ValueError):
     9                 self.help_msg()
    10                 sys.exit()

     2.1、创建一个线程

     1 #!/uer/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 import threading
     5 
     6 class MyThread(threading.Thread):
     7 
     8     def __init__(self,name):
     9         super(MyThread,self).__init__()
    10         self.name = name
    11 
    12     def run(self):
    13         print("thread is running",self.name)
    14 t = MyThread("jim")
    15 t1 = MyThread("ALEX")
    16 t.start() #开启一个线程
    17 t1.start() #再开启一个线程

    输出结果:

    thread is running jim
    thread is running ALEX

    2.2、第二种方法

     1 #!/uer/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 import threading
     5 def pao(num):
     6         print("thread is runing",num)
     7 
     8 t = threading.Thread(target=pao,args=(3,))
     9 t1 = threading.Thread(target=pao,args=(4,))
    10 t.start()
    11 t1.start()

    输出结果:

    thread is runing 3
    thread is runing 4

     线程的阻塞:

    1.  1 #!/usr/bin/env python
       2 # -*- coding:utf-8 -*-
       3 
       4 import threading
       5 import time
       6 
       7 def saihi(n):
       8     print("hello %s"% n)
       9     time.sleep(2)
      10 
      11 if __name__=="__main__":
      12     t_list=[]
      13     for i in range(10):
      14         n = threading.Thread(target=saihi ,args=[i,])
      15         n.start()
      16         t_list.append(n)
      17     for t in t_list:
      18         t.join() #阻塞所有的线程执行完毕之后,再打印"==main=="
      19 
      20     print("==main==")

     守护线程:

    守护线程结束后,被守护的线程也同时结束!

    m = threading.Thread(target=my_main,args=[] )
    m.start()
    m.setDaemon() #设置为守护线程
  • 相关阅读:
    前端学习的几个网站
    程序员怎么写出一份漂亮的简历
    程序员斗图专用表情包
    2018年国内就业薪资高的7大编程语言排行
    微信小程序初步运营方案
    「干货」从菜鸟到大神,前端学习书籍推荐
    数据分析概述和理论基础
    十大厂商为什么要联合推出“快应用”对标小程序?
    数据分析的过程
    H5混合开发二维码扫描以及调用本地摄像头
  • 原文地址:https://www.cnblogs.com/zhang252709/p/5290162.html
Copyright © 2020-2023  润新知