![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统编程
漂亮的宁大宝
这个作者很懒,什么都没留下…
展开
-
多线程竞争、锁、互斥锁、死锁、GIL
多线程竞争同一个进程里线程是数据共享的,当各个线程访问数据资源时会出现竞争状态,数据几乎同步会被多个线程占用,造成数据混乱。锁Python提供的对线程控制的对象。锁的好处:确保了某段关键代码只能由一个线程从头到尾完整地执行锁的坏处:阻止了多线程并发执行,包含锁的某段代码实际上只能以单线程模式执行,效率就大大地下降了由于可以存在多个锁,不同的线程持有不同的锁,并试图获取对方持有的锁...原创 2019-05-15 17:31:28 · 732 阅读 · 0 评论 -
进程、线程、协程
进程、线程、协程进程一个运行的程序就是一个进程,进程是系统资源分配的最小单位,拥有自己独立的内存空间,多个进程之间的资源是独立不共享的。线程线程是调度执行的最小单位,不能独立存在,依赖于进程存在,一个进程内最少存在一个线程,这个线程称之为主线程,一个进程内所有线程是资源共享的。协程是一种轻量级的线程,调度完全由用户控制,当某个线程出现耗时操作时,就会调度系统切换另一个线程。...原创 2019-05-15 16:06:59 · 119 阅读 · 0 评论 -
并发和并行的理解
并发任务数多于CPU核数,通过操作系统的各种任务调度算法,实现多个任务"一起"执行。(实际总有一些任务不在执行,因为切换速度相当快,只是看上去一起执行)例如:线程。实现并发的库:multiprocessing并行任务数少于CPU核数,任务是真正的一起运行。例如:进程。实现并行的库:threading...原创 2019-05-15 16:21:37 · 912 阅读 · 0 评论