多线程编程
线程是操作系统可以调度的最小执行单位,够执行并发处理。通常是将程序拆分成2个或多个并发运行的线程,即同时执行多个操作。例如,使用线程同时监视用户并发输入,并执行后台任务等。
进程和线程
进程是操作系统中正在执行的应用程序的一个实例,操作系统把不同的进程(即不同程序)分离开来。
每个进程至少包含一个线程,它从程序开始执行,直到退出程序,主线程结束,该进程也被从内存中卸载。主线程在运行过程中还可以创建新的线程,实现多线程的功能。
多线程优点
多线程类似于同时执行多个不同程序,多线程运行有如下优点:
(1)使用线程可以把占据长时间的程序中的任务放到后台去处理。
(2)用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
(3)程序的运行速度可能加快
(4)在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
定时器Timer
定时器(Timer)是Thread的派生类,用于在指定时间后调用一个函数,具体方法如下:
timer = threading.Timer(指定时间t, 函数f)
timer.start()
执行timer.start()后,程序会在指定时间t后启动线程执行函数f。