码迷,mamicode.com
首页 > 编程语言 > 详细

Python之路PythonThread,第四篇,进程4

时间:2018-06-18 21:02:52      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:指令   CQ   也有   编程   资源   联系   from   临界区   多线程   

python3  进程4

 进程间同步互斥方法:

from multiprocessing import Lock

创建 进程锁对象

lock = Lock()

lock.acquire()  给临界区上锁

lock.release() 给临界区解锁

说明:1,具体实现上 acquire() 为一个条件阻塞函数;

           2,当有任意一个进程先进行了acquire操作后,其他进程再企图进行acquire操作时就会阻塞,直到lock对象被release后其他进程CIA可以进行下次

                acquire操作;

with lock: 也可以实现加锁,解锁

 

线程:

1,线程也可以使用计算机的多核资源,也是多任务编程方式之一;

2, 线程又称为轻量级的进程,在并发上和进程相同,但是在创建时销毁资源少;

说明:1,一个进程中可以包含多个线程,这个多个线程共享进程的资源;

            2, 多个线程因为共享进程的资源,所以在通信上往往采用全局变量的方式;

            3,线程也有自己特有的资源,比如TTD指令集等;

多进程和多线程的区别和联系:

1,多进程和多线程都是多任务编程方式,都可以使用计算机多核;

2,进程的创建要比线程消耗更多的资源;

3,进程的空间独立数据更安全,有专门的进程间通信方式进行交互;

4,一个进程包含多个线程,所以线程共享进程资源,没有专门的通信方式,依赖全局变量进行通信。 往往需要使用同步互斥机制,逻辑需要考虑更多;

5,进程线程都有自己特有的资源,多个关联任务的时候使用多线程资源消耗更少; 如果是多个无关联任务也不适用全部都使用线程;

 

Python之路PythonThread,第四篇,进程4

标签:指令   CQ   也有   编程   资源   联系   from   临界区   多线程   

原文地址:https://www.cnblogs.com/weizitianming/p/9196017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!