多处理支持(Multiprocessing Support)
优质
小牛编辑
128浏览
2023-12-01
法医专家通常发现很难应用数字解决方案来分析常见犯罪中的大量数字证据。 大多数数字调查工具都是单线程的,它们一次只能执行一个命令。
在本章中,我们将重点介绍Python的多处理功能,这些功能可以解决常见的取证挑战。
多处理器 Multiprocessing
多处理定义为计算机系统支持多个进程的能力。 支持多处理的操作系统使多个程序能够同时运行。
存在各种类型的多处理,例如symmetric和asymmetric processing 。 下图是指对称多处理系统,通常在法医调查中遵循。
例子 (Example)
以下代码显示了Python编程内部如何列出不同的进程。
import random
import multiprocessing
def list_append(count, id, out_list):
#appends the count of number of processes which takes place at a time
for i in range(count):
out_list.append(random.random())
if __name__ == "__main__":
size = 999
procs = 2
# Create a list of jobs and then iterate through
# the number of processes appending each process to
# the job list
jobs = []
for i in range(0, procs):
out_list = list() #list of processes
process1 = multiprocessing.Process(
target = list_append, args = (size, i, out_list))
# appends the list of processes
jobs.append(process)
# Calculate the random number of processes
for j in jobs:
j.start() #initiate the process
# After the processes have finished execution
for j in jobs:
j.join()
print "List processing complete."
这里,函数list_append()有助于列出系统中的进程集。
输出 (Output)
我们的代码将产生以下输出 -