1.简述解释型和编译型语言及其优缺点 2.变量名的命名规范 3.简述break和continue,并说出两者之间的相同之处 4.is 和 == 的区别 5.简述位和字节的关系 6.pass和type,id的作用 7.列举布尔值False的常见值 15.形参角度的第四种传参方式: 仅限关键字参数 16 ...
分类:
其他好文 时间:
2019-10-25 09:47:29
阅读次数:
90
‘’‘ 1.GIL全局解释器锁: 1.GIL是Cpython特有的。 2.GIL本质上是一个互斥锁. 3.GIL的为了阻止同一个进程内多个线程同时执行(并行) 单个进程下的多个线程无法实现并行,但能实现并发 4.这把锁主要是因为CPython的内存管理不是 "线程安全" 的. 保证线程在执行任务时不 ...
分类:
其他好文 时间:
2019-10-23 22:05:00
阅读次数:
117
[toc] GIL全局解释器锁 基本概念 global interpreter lock 全局解释器锁 GIL不是Python的特性, 是Cpython解释器的特性 GIL本质是一个互斥锁 原因 : Cpython解释器的内存管理不是线程安全的 作用 : 保证同一时间一个线程内只有一个线程在执行 多 ...
分类:
编程语言 时间:
2019-10-23 21:51:33
阅读次数:
103
```python 1.理论 - 互斥锁的作用: 让并发变成串行, 牺牲了执行效率, 保证了数据安全。 - 队列: 必须遵循先进先出。 - IPC(进程间通信): 进程间数据是相互隔离的,若想实现进程间通信,可以利用队列. - 生产者与消费者: 生产者: 生产数据的 消费者: 使用数据的 解决供需不... ...
分类:
编程语言 时间:
2019-10-22 20:25:45
阅读次数:
113
[toc] 进程 1.进程互斥锁 异步可以让多个任务在几个进程中并发处理,他们之间没有运行顺序,一旦开启也不受我们的控制,尽管并发编程让我们更加充分的利用IO资源,但是当多个进程使用同一份资源的时候,就会引发数据安全或顺序混乱的问题 2.队列 1.队列的概念 创建一个共享的进程队列,可以使用Queu ...
分类:
编程语言 时间:
2019-10-22 20:22:43
阅读次数:
117
进程互斥锁 让并发变成串行,牺牲了执行效率,保证了数据的安全. 在程序并发执行时,如果需要修改数据就使用互斥锁. 队列 相当于内存中的空间. 可以存放多个数据,必须排队,遵循先进先出的顺序. 堆栈 是和队列相对的,是先进后出. IPC 进程间通信 进程间的数据是相互隔离的,若想实现进程间的通信,可以 ...
分类:
编程语言 时间:
2019-10-22 18:17:03
阅读次数:
91
pthread_mutex_t faceMutex;//其中faceMutex只是互斥锁的名字 pthread_mutex_init(&faceMutex, NULL);//初始化然后下面就可以用了。 pthread_mutex_lock(&faceMutex); pthread_mutex_unl ...
分类:
系统相关 时间:
2019-10-16 18:17:32
阅读次数:
104
互斥锁 互斥锁的特性: 1. 原子性:当有一个线程成功拿到了这个锁,其他线程都无法在相同的时间拿到这个锁 2. 唯一性:在一个线程拿到锁的这段时间,只有当这个线程把锁释放掉,其他的线程才有可能拿到 3. 非繁忙等待性:如果一个线程已经锁定了一个互斥量,第二个线程又视图去拿到这个锁的前线,则第二个锁将 ...
分类:
其他好文 时间:
2019-10-15 21:21:06
阅读次数:
124
一 互斥锁 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如下 如何控制,就是加锁处理。而互斥锁的意思就是互相排斥,如果把多个进程比喻为多个人,互斥锁的工作原理就是多个人都要去争抢同一个资源:卫生间,一个人 ...
分类:
其他好文 时间:
2019-10-13 11:16:36
阅读次数:
73
一 信号量 信号量也是一把锁,可以指定信号量为5,对比互斥锁同一时间只能有一个任务抢到锁去执行,信号量同一时间可以有5个任务拿到锁去执行,如果说互斥锁是合租房屋的人去抢一个厕所,那么信号量就相当于一群路人争抢公共厕所,公共厕所有多个坑位,这意味着同一时间可以有多个人上公共厕所,但公共厕所容纳的人数是 ...
分类:
其他好文 时间:
2019-10-13 10:57:56
阅读次数:
94