简单理解进程与线程
进程:
1.进程是系统资源分配的最小单位
2.进程是一堆系统资源的集合,不可执行
3.进程内可以有多个线程
4.进程间内存等所有的资源空间互相隔离,要实现资源数据通信可通过建立socket规则
线程:
1.线程是程序执行的最小调度单位
2.线程是进程的一个执行流(执行代码)
3.线程间内存等资源空间数据共享
1. multiprocessing模块的简单使用
# -*- coding:utf-8 -*- # Author:Wong Du ''' 简单理解进程与线程 进程: 进程是系统资源分配的最小单位 进程是一堆系统资源的集合,不可执行 进程内可以有多个线程 进程间内存等所有的资源空间互相隔离,要实现资源数据通信可通过建立socket规则 线程: 线程是程序执行的最小调度单位 线程是进程的一个执行流(执行代码) 线程间内存等资源空间数据共享 介绍multiprocessing模块多进程的简单使用 ''' import multiprocessing import threading import time # 线程函数 def thread_run(): # 查看当前线程的id号 print(threading.current_thread()) time.sleep(2) def run(name): print("Hello", name) # 查看当前的进程信息 print(multiprocessing.current_process()) # 注册并运行线程 t = threading.Thread(target=thread_run()) t.start() if __name__ == '__main__': for i in range(10): # 注册并运行进程 m = multiprocessing.Process(target=run, args=("boy%s" % i, )) m.start()
1 # -*- coding:utf-8 -*- 2 # Author:Wong Du 3 4 ''' 5 多进程之getid, 6 .py文件执行,系统调用生成.py文件的主进程,主进程通过multiprocessing模块创建子进程 7 即:“系统调用程序”为.py文件主进程的父进程,.py文件主进程为子进程的父进程 8 ''' 9 10 import multiprocessing 11 import time 12 import os 13 14 def info(info=None): 15 print(info) 16 print("Parent Process id:", os.getppid()) 17 print("Current Process id:", os.getpid()) 18 print("Process done ") 19 time.sleep(1) 20 21 def run(): 22 # 执行info函数,查看子进程及其父进程的进程id 23 info("