多进程
什么是进程?
——简单说来,进程就是正在被执行的程序。而程序是什么?程序就是一段代码,是静态的,存储在硬盘上。代码如果没有被执行就是程序,代码如果被操作系统所执行,就是进程。
Python如何实现多进程?——用法和多线程类似,Python封装好了一个模块,调用模块即可。
import multiprocessing
def test1():
''''''
while True:
print('1-----------')
def test2():
''''''
while True:
print('2------------')
def main():
p1 = multiprocessing.Process(target=test1)
p2 = multiprocessing.Process(target=test2)
p1.start()
p2.start()
if __name__ == "__main__":
main()
ps:多进程实现多任务是非常耗费资源的,因为每想、创建一个子线程,他会复制主进程所有的资源。(写时拷贝,意思就是如果子线程不对程序代码进行修改的话,主线程和子线程会共享代码,但是如果子线程通过特殊手段修改代码的话,则会复制一份主线程的代码,对其进行修改。这也就是写时拷贝。)
线程和进程的区别
进程就是计算机正在执行的任务,,每一个进程不止干一件事,比如打开word就是创建一个进程,但是在word这个进程内部不止同时干一件事,在打字输入的同时还会统计字数,拼写检查等等。在一个进程内部,可能会同时干多件事情,也就是可能会同时运行多个子任务,这些子任务就是线程。可以这样说,每一个进程只是资源分配的单位,真正是由一个或多个线程来执行代码。
对于一个进程来说,至少有一个主线程。也就是说,进程至少由一个线程组成。
多线程实现多任务就是在一个进程里面有多个箭头在执行代码;
多进程实现多任务就是创建多个进程,每个进行里面只有一个箭头,即每个进程里面都只有一个或少量个的线程