zoukankan      html  css  js  c++  java
  • python线程与进程

    #直接调用
    import threading,time

    def run(n):
    print('running ...',n)
    time.sleep(2)

    t1 = threading.Thread(target=run,args=("test1",))#生成一个线程实例
    t2 = threading.Thread(target=run,args=("test2",))#生成另一个线程实例
    t1.start()#启动线程
    t2.start() #启动另一个线程
    print(t1.getName()) # 获取线程名
    print(t2.getName())

    #继承式调用

    import threading
    import time

    class MyThread(threading.Thread):
    def __init__(self, num):
    threading.Thread.__init__(self)
    self.num = num

    def run(self): # 定义每个线程要运行的函数,必须是run函数才会执行

    print("running on number:%s" % self.num)

    time.sleep(3)

    if __name__ == '__main__':
    t1 = MyThread(1)
    t2 = MyThread(2)
    t1.start()
    t2.start()

    
    
    #同时启动50个线程
    import threading,time

    def run(n):
    print('running ...',n)
    time.sleep(2)

    time_now = time.time()
    re_date =[]
    for i in range(50):
    t1 = threading.Thread(target=run,args=(i,))#生成一个线程实例
      t1.setDaemon(True)#把当前线程设置为守护线程
    t1.start()#启动线程
    re_date.append(t1)
    for t in re_date:
    t.join()#等于wait()一个线程执行完之后才执行另一个线程,为手动守护线程

    print('done...')
    print(time.time()-time_now)#50个线程总共花了多少时间
    
    
    print('test',threading.current_thread())#查询主线程
    print('test2',threading.active_count())#活跃的线程
     
     
    t1.setDaemon(True)#把当前线程设置为守护线程




    import os
    #创建子进程
    pid = os.fork()#仅Linux可用
    #判断
    if pid ==0:
    print('if...')
    else:
    print('else...')
     
  • 相关阅读:
    jdk1.8新特性
    jdk1.7新特性
    jdk1.6新特性
    第十九课 pluginlib&Nodelet
    第十八课 Gazebo仿真器
    第十七课 导航实践(2)
    第十六课 导航实践(1)
    第十五课 导航基础
    十四课 slam&gmapping
    第十三课 Actionlib(2)
  • 原文地址:https://www.cnblogs.com/anhao-world/p/13665395.html
Copyright © 2011-2022 走看看