线程的重点:1.类线程启动函数必须叫run
创建线程的两种方法:
1.先继承threading
thread1 = myThread(1, "Thread-1", 1)
2.t1 = threading.Thread(target=test,args=(2,))
线程的概念:
1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位
2.一个进程有一个或者多个线程组成,线程是一个进程中代码的不用执行路线
3.进程之间相互独立,但是同一进程下的各个线程之间共享程序的存储空间,某进程的线程在其他进程不可见,
4.调度和切换:线程上下文切换比进程上下文切换快的多
使用多线程的优点:
- 使用线程可以把占据长时间的程序中的任务放到后台去处理。
- 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。
- 程序的运行速度可能加快。
- 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
线程中常用的方法
- run(): 用以表示线程活动的方法。
- start():启动线程活动。
- join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。
- isAlive(): 返回线程是否活动的。
- getName(): 返回线程名。
- setName(): 设置线程名。