Python多线程(Thread)
2017-09-11 08:32
148 查看
线程:所有线程运行在同一个进程中,共享相同的运行环境。
1.每一个独立的线程有一个程序运行到的入口,顺序执行序列和程序和出口。
2.线程的运行可以被抢占(中断),或暂时被挂起(睡眠),让其他线程运行(让步)。
3.一个进程中的各个线程间共享同一片数据空间
进程:程序的一次执行(程序装载入内存,系统分配资源运行)
1.每个进程都有自由的内存空间,数据栈等,只能使用进程间通讯,而不能直接共享信息。
Example One 并发执行两个单线程:
join 的作用是阻塞进程直到线程执行完毕
Example Two : 顺序执行两个单线程:
可以看到顺序执行两个单线程的耗时比并发执行两个线程还要快点
1.每一个独立的线程有一个程序运行到的入口,顺序执行序列和程序和出口。
2.线程的运行可以被抢占(中断),或暂时被挂起(睡眠),让其他线程运行(让步)。
3.一个进程中的各个线程间共享同一片数据空间
进程:程序的一次执行(程序装载入内存,系统分配资源运行)
1.每个进程都有自由的内存空间,数据栈等,只能使用进程间通讯,而不能直接共享信息。
Example One 并发执行两个单线程:
from threading import Thread import time def my_counter(): print('Go Into my_counter...') i = 0 for _ in range(100000000): i += 1 return True def main(): thread_array = {} start_time = time.time() for tid in range(2): t = Thread(target = my_counter) t.start() thread_array[tid] = t print('tid = ',tid,'thread_array[tid] = ',thread_array[tid]) for i in range(2): print('Thread need to join...') thread_array[i].join() print('Thread Done...') end_time = time.time() print('Total time: {}'.format(end_time - start_time)) if __name__ == '__main__': main()
join 的作用是阻塞进程直到线程执行完毕
Example Two : 顺序执行两个单线程:
from threading import Thread import time def my_counter(): print('Go Into my_counter...') i = 0 for _ in range(100000000): i = i+1 return True def main(): thread_array = {} start_time = time.time() for tid in range(2): t =Thread(target = my_counter) print('t = ',t) t.start() t.join() end_time = time.time() print('Total Time:{}'.format(end_time - start_time)) if __name__ == '__main__': main()
可以看到顺序执行两个单线程的耗时比并发执行两个线程还要快点
相关文章推荐
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行
- Python中利用Threadpool.map()多线程抓数据
- Python实战之多线程编程thread模块
- Python thread 多线程
- Python多线程之threading.Thread类的参数详解
- Python中多线程thread与threading的实现方法
- thread/threading/Queue/mutex——Python 多线程
- Python实战之多线程编程thread模块
- python 多线程 thread 加锁(二)
- Python多线程thread与threading实现
- Python 多线程 thread
- Python:继承Thread实现多线程
- [python] 专题八.多线程编程之thread和threading
- Python多线程 - 使用_thread模块实现多线程
- python进阶学习笔记(四)--多线程thread
- Python并发编程(1):多线程编程之thread和threading
- python 多线程 thread
- [python] 专题八.多线程编程之thread和threading
- [Python]多线程入门 --thread使用
- 通过python threading Thread理解多线程和单线程的运行机制