•什么是任务、进程和线程?
- 任务:操作系统可以同时运行多个任务。例如:一边上网,一边听音乐。这就是操作系统的多任务。操作系统会轮流让各个任务交替执行,但由于CPU的执行实在是太快了,给我们感觉就像所有任务都在同时进行一样。
- 进程:一个任务就是一个进程;
- 线程:线程是进程的基本单位,一个任务最少有一个线程;
- thread模块中的start_new_thread()的作用是什么?
- python提供多线程模块thread和threading,以及队列Queue,其中thread相对于比较基础,不容易控制,可以使用thead参看底层堆栈内存thread模块在python3中被重命名为_thread。
- 调用thread模块中的start_new_thread()函数可以产生新线程。
- 语法:thread.start_new_thread(function,args[,kwargs]);
- function:线程函数;
- args:传递给线程函数的参数,必须是tuple类型
- kwargs:可选参数
import _thread
import time
# 为线程定义一个函数
def print_time(threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print("%s:%s" % (threadName, time.ctime(time.time())))
# 创建两个线程
try:
_thread.start_new_thread(print_time, ("Thread-1", 2,))
_thread.start_new_thread(print_time, ("Thread-2", 4,))
except:
print("Error:unable to start thread")
while 1:
pass
以下为运行结果:
![]()