#线程,进程
#进程是资源单位,每个进程至少要有一个线程
#线程是执行单位

#启动每一个程序都默认有一个主线程
#仍然是单线程
# def func():
# for i in range(1000):
# print("func",i)
#
# if __name__ == '__main__':
# func()
# for i in range(1000):
# print("main",i)

#########################多线程方法一
# from threading import Thread #线程类
# def func():
# for i in range(1000):
# print("func",i)

# if __name__ == '__main__':
# t=Thread(target=func) #创建新进程。并给线程安排任务
# t2=Thread(target=func)
# t2.start()
# t.start() #开始执行线程
# for i in range(1000):
# print("main",i)

#########################多线程方法二
# class MyYhread(Thread):
# def run(self):#run是固定的
# for i in range(1000):
# print("子线程",i)
# if __name__ == '__main__':
# t=MyYhread()
# #t.run()这么写就是调用了,就是单线程了
# t.start()#开启线程
#
# for i in range(1000):
# print("主线程",i)

####################################

from threading import Thread #线程类
def func(name):
for i in range(1000):
print("func"+name,i)

if __name__ == '__main__':
t1=Thread(target=func,args=("凋零",)) #创建新进程。并给线程安排任务
t2=Thread(target=func,args=("流云",))


t1.start()
t2.start()
#开始执行线程