摘要: GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同 阅读全文
posted @ 2018-03-06 22:42 Love_always_online 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 互斥锁 把并行变成串行,保证顺序,降低效率。 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 5 阅读全文
posted @ 2018-03-06 21:52 Love_always_online 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 一 守护线程 无论是进程还是线程,都遵循:守护xxx会等待主xxx运行完毕后被销毁 需要强调的是:运行完毕并非终止运行 详细解释: 123 456 main end123 end456 1. t1.start() 会打印 123 2. t2.start()会打印456 3. print("main 阅读全文
posted @ 2018-03-06 21:37 Love_always_online 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Thread对象的其他属性或方法 例子: 查看线程名字 Thread-1 is running # 子线程名字默认是Thread名字开头 Thread-1 主线程名字 MainThread # 主线程名字默认是MainThread 2. 改线程名字 子线程 is running son线程 主线程名 阅读全文
posted @ 2018-03-06 21:11 Love_always_online 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 主线程 cmz running cmz running end 可以见在打印主线程代最后一行代码的时候,进程还没执行,p1.start ()将开启进程的信号发给操作系统后,操作系统要申请内存空间,让好拷贝父进程地址空间到子进程,开销远大于线程 cmz running 主线程 cmz running 阅读全文
posted @ 2018-03-06 20:40 Love_always_online 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性 二 开启线程的两种方式 方式一 camz is running camz running end 方式二 cmz is running 主线程 cmz running 阅读全文
posted @ 2018-03-06 20:24 Love_always_online 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程(流水线的工作需要电源,电源就相当于cpu),而一条流水线必须属于一个车间,一个车间的工作过程是一个进程,车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一条流水线。 阅读全文
posted @ 2018-03-06 20:10 Love_always_online 阅读(185) 评论(0) 推荐(0) 编辑