进程是资源分配的基本单位。

线程是程序执行的最小单位。

接下来以一段python脚本来演示一下多线程是如何去进行编码操作的,学会这个之后,就可以改进之前的脚本,将nmap的端口扫描工具改成多线程执行,提升效率。并且,在以后执行用例的时候,说不定也会需要用到这个技术。

Python中多线程编程的代码演示:

import threading
import time




def say_hello(msg):
print(f'hello,我是:{msg}')
time.sleep(2)




start_time = time.time()
# 1、创建线程
'''
target: 传可调用对象名字,一般是需要执行的函数名,默认为None
args: 元组类型的参数,一般为target对象里面调用时的传参,默认为()
'''
t1 = threading.Thread(target=say_hello, args=('a',))
t2 = threading.Thread(target=say_hello, args=('b',))
# 2、启动线程
t1.start()
t2.start()


# 3、join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止
t1.join()
t2.join()


end_time = time.time()
print(f'耗时:{end_time-start_time}')

以上代码运行后,打印出来的时间在2点零几秒:

Python中多线程的基本操作_js

Python中多线程的基本操作_多线程_02

END