线程和进程
1、线程共享创建它的进程的地址空间,进程有自己的地址空间
2、线程可以访问进程所有的数据,线程可以相互访问
3、线程之间的数据是独立的
4、子进程复制线程的数据
5、子进程启动后是独立的 ,父进程只能杀掉子进程,而不能进行数据交换
6、修改线程中的数据,都是会影响其他的线程,而对于进程的更改,不会影响子进程
threading.Thread
Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(init)中将可调用对象作为参数传入。
先来看看通过继承threading.Thread类来创建线程的例子:
import threading
import time
class MyThread(threading.Thread):
def __init__(self, arg):
# super(MyThread, self).__init__() # 新式类继承原有方法写法
threading.Thread.__init__(self)
self.arg = arg
def run(self):
time.sleep(2)
print(self.arg)
for i in range(10):
thread = MyThread(i)
print(thread.name)
thread.start()
另外一种创建线程的方法
import threading
import time
def process(arg):
time.sleep(2)
print(arg)
for