线程实现多任务
附上代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import threading
import time
def test1():
while True:
print("1..........")
time.sleep(1)
def test2():
while True:
print("2..........")
time.sleep(1)
def main():
t1 = threading.Thread(target=test1)
t2 = threading.Thread(target=test2)
t1.start()
t2.start()
if __name__ == '__main__':
main()
简单易懂,不需要多说,嘿嘿
进程实现多任务
附上代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import threading
import time
import multiprocessing
def test1():
while True:
print("1..........")
time.sleep(1)
def test2():
while True:
print("2..........")
time.sleep(1)
def main():
# t1 = threading.Thread(target=test1)
# t2 = threading.Thread(target=test2)
# t1.start()
# t2.start()
p1 = multiprocessing.Process(target=test1)
p2 = multiprocessing.Process(target=test2)
p1.start()
p2.start()
if __name__ == '__main__':
main()
和线程实现原理差不多
线程和进程实现多任务的区别
- 进程就好像一台电脑可以同时运行多个软件
- 线程就好像用微信可以同时和多个联系人聊天
- 线程划分尺度小于进程,(资源比进程少)使得多线程程序的并发性高
- 进程在执行过程中拥有的独立的内存单元,而多个线程共享内存,极大地提高了程序运行效率
- 线程不能独立运行,必须依存于进程中
优缺点
- 线程开销小,但不利于资源管理和保护
- 进程和线程相反
未完待续…