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...')
 
原文地址:https://www.cnblogs.com/anhao-world/p/13665395.html