<input id="y8oc4"><u id="y8oc4"></u></input>
<menu id="y8oc4"></menu>
  • <input id="y8oc4"><u id="y8oc4"></u></input>
    <input id="y8oc4"><tt id="y8oc4"></tt></input>
  • <input id="y8oc4"><u id="y8oc4"></u></input>
    <menu id="y8oc4"></menu><input id="y8oc4"></input>
    <input id="y8oc4"><u id="y8oc4"></u></input>
    <input id="y8oc4"><u id="y8oc4"></u></input>
    <input id="y8oc4"></input>
  • python的GIL锁

    进程:系统运行的一个程序,是系统分配资源的基本单位。

    线程:是进程中执行运算的最小单位,是处理机调度的基本单位。

    处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件。包括中央处理器、主存储器、I/O接口。

    程序:程序是描述处理机完成某任务的指令序列。

    指令:处理机能够解释、直接执行的信息单位。

    计算机系统:处理机+外围设备。

    并行:多个cpu同时执行多个任务,假设有两个程序,这两个程序在两个不同的cpu上同时运行。

    并发:单个cpu交替执行多个任务,假设有两个程序,这两个在该cpu上交替进行运行,而不是同时运行,只是由于执行的时间太快,让人误以为是在“同时进行”。执行的先后取决于对时间片资源的竞争。其中两种并发关系是同步和互斥。

    同步:不是指同时进行指线程之间按一定顺序进行运行,当前一个线程结束时,下一个线程才能够运行。

    异步:线程不可以同时进行运行。

    (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。
    (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
    (3)处理机分给线程,即真正在处理机上运行的是线程。
    (4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
    如果把上课的过程比作进程,那么每个学生就是一个线程,他们共享教室,即线程共享进程的内存空间。每一个时刻,只能一个学生问老师问题,老师回答完毕,轮到下一个。即线程在一个时间片内占有cpu。

    分享图片

     

    用C语言写的python解释器存在GIL,python语言本身是不存在GIL的 。GIL是cpython的全局解释器锁,而且只有一个。当同一进程中存在多个线程运行,一个线程在运行python程序的时候会占用Python解释器(即获得GIL),使该进程内的其他线程无法运行,等该线程运行完成后,其他线程才能运行。即使是在多核况下,也只能发挥单核的性能。

    什么时候释放锁?

    (1)对于i/o的线程,是不需要cpu的,也就是cpu空闲的时候。

    (2)对于cpu密集型的线程,cpu会一直被占用进行计算,此时有一个指令计数器,当一个线程执行了一定数量的指令时(100),GIL就会被释放,释放后多个线程对GIL进行竞争。

    解决GIL的方法?

    (1)在使用多线程时,使用其他语言;

    (2)换一种Python解释器;

    (3)使用多进程;

    GIL和互斥锁有什么区别?

    互斥锁:修改数据时有序的更改,不产生数据的混乱。

    分享图片

     一张图解决,注意:互斥不是线程之间按一定顺序执行,而是在同一时间只能执行一个线程。

    相关文章
    相关标签/搜索
    彩霸王超级中特网118图库天下彩天空彩免费大全香港蓝月亮精选资料六合宝典天天彩票新版 从江县| 青龙| 颍上县| 沙洋县| 钦州市| 鹤峰县| 抚宁县| 璧山县| 汶川县| 黔西| 柳州市| 莎车县| 新民市| 盈江县| 贺兰县| 城市| 昔阳县| 阜康市| 富裕县| 二手房| 陆河县| 达尔| 醴陵市| 诸城市| 新营市| 崇州市| 遂昌县| 东山县| 东丰县| 山西省| 旅游| 杭锦后旗| 黄陵县| 腾冲县| 上饶县| 台东县| 吉水县| 翼城县| 开封市| 电白县| 于田县| 喀喇沁旗| 年辖:市辖区| 赫章县| 仲巴县| 仁怀市| 乳源| 射阳县| 朝阳区| 额尔古纳市| 安多县| 凤台县| 新安县| 柳江县| 息烽县| 成都市| 阳西县| 济源市| 甘孜县| 安陆市| 南平市| 澎湖县| 崇义县| 白山市| 北票市| 南京市| 厦门市| 无极县| 张家川| 绥芬河市| 樟树市| 石台县| 山阴县| 昌宁县| 大城县| 洱源县| 西林县| 东山县| 西和县| 通城县| 岳池县| 刚察县| 龙胜| 莆田市| 马公市| 来宾市| 漯河市| 土默特左旗| 苍南县| 临洮县| 通州市| 温泉县| 呼伦贝尔市| 高要市| 府谷县| 武穴市| 万山特区| 大安市| 闵行区| 康平县| 久治县| 彭州市| 永定县| 保山市| 句容市| 吉木萨尔县| 自贡市| 安图县| 库车县| 木兰县| 祁门县| 南江县| 巫溪县| 临安市| 阿鲁科尔沁旗| 叙永县| 始兴县| 二连浩特市| 资讯| 泰兴市| 安西县| 增城市| 平罗县| 景东| 遂溪县| 米脂县| 安达市| 隆化县| 姚安县| 绵阳市| 宁波市| 蒲江县| 历史| 南郑县| 伊春市| 汝州市| 阳江市| 八宿县| 宁阳县| 济南市| 锦州市| 大港区| 名山县| 阜阳市| 黔南| 张家口市| 鹿邑县| 环江| 开江县| 康定县| 彝良县| 隆化县| 涿州市| 本溪市| 娱乐| 调兵山市| 望谟县| 松潘县| 岑溪市| 陵川县| 卢氏县| 且末县| 凌源市| 栾川县| 贡嘎县| 岑巩县| 连南| 崇信县| 卢湾区| 垫江县| 贵南县| 华阴市| 武陟县| 鄂伦春自治旗| 九龙坡区| 华蓥市| 阿拉善右旗| 大田县| 永嘉县| 安陆市| 巢湖市| 五大连池市| 长寿区| 萨迦县| 罗甸县| 海淀区| 沧源| 合川市| 六安市| 象州县| 鹤壁市| 阿克陶县| 沙田区| 襄樊市| 丰原市| 大石桥市| 通道| 冷水江市| 鱼台县| 南充市| 东莞市| 汝阳县| 博兴县| 涞水县| 双柏县| 商城县| 谢通门县| 阳城县| 慈利县| 泸水县| 澜沧| 格尔木市| 洪雅县| 湘阴县| 大埔县| 南陵县| 凌源市| 阿瓦提县| 靖边县| 化州市| 曲阜市| 静海县| 汶川县| 灵丘县| 平南县| 叶城县| 商丘市| 丁青县| 甘孜| 廉江市| 博爱县| 五指山市| 台江县| 宁陵县| 新巴尔虎左旗| 花莲市| 团风县| 博客| 博客| 观塘区| 宁化县| 涿州市| 长泰县| 东源县| 钟山县| 社旗县| 永昌县| 康平县| 定襄县| 龙里县| 南昌市| 定日县| 长丰县| 洛浦县| 湖口县| 札达县| 长海县| 双牌县| 贺州市| 波密县| 太和县| 罗山县| 蓬溪县| 水富县| 涡阳县| 当阳市| 柘荣县| 渝北区| 临泉县| 闽侯县| 连南| 廉江市| 梅州市| 湘乡市| 陵水| 阿拉尔市| 新干县| 绵竹市| 锦屏县| 邵阳县| 曲阜市| 桑植县| 宁津县| 奉新县| 汶上县| 霞浦县| 长阳| 宜章县| 金华市| 普洱| 德化县| 堆龙德庆县| 宁乡县| 靖西县| 财经| 盐源县| 宕昌县| 交城县| 元阳县| 临桂县| 鹤岗市| 平遥县| 西畴县| 莱西市| 唐山市| 渝中区| 阿拉善右旗| 卢龙县| 太仆寺旗| 石台县| 隆回县| 永靖县| 南通市| 界首市| 霍林郭勒市| 广宗县| 温宿县| 宜川县| 松潘县| 新乡县| 镇原县| 南乐县| 洛浦县| 静安区| 丽江市| 昌平区| 乌拉特前旗| 双桥区| 白水县| 连南| 察雅县| 蓬安县| 四会市| 丰顺县| 瑞安市| 公主岭市| 民丰县| 汤阴县| 全南县| 普洱| 陈巴尔虎旗| 潞西市| 包头市| 麻城市| 吐鲁番市| 梅河口市| 莱芜市| 光泽县| 陆川县| 广宁县| 鄢陵县| 应城市| 池州市| 石景山区| 赫章县| 开化县| 大荔县| 滁州市| 澜沧| 瑞昌市| 安西县| 兴隆县| 汤原县| 陈巴尔虎旗| 永新县| 安陆市| 乌什县| 门源| 郴州市| 苍南县| 教育| 威海市| 左贡县| 井研县| 蛟河市| 宜昌市| 思南县| 宁河县| 焦作市| 彭州市| 旬阳县| 固原市| 连南| 日喀则市| 若尔盖县| 襄樊市| 固始县| 兴化市| 昌江| 南康市| 通州区| 宿州市| 旬阳县| 柳河县| 开平市| 都安| 皮山县| 满洲里市| 浙江省| 长泰县| 土默特左旗| 新安县| 宜阳县| 新乡县| 建阳市| 松原市| 大名县| 沾化县| 宜兰县| 墨脱县| 通州市| 玉溪市| 高平市| 栾川县| 商洛市| 睢宁县| 镇江市| 金华市| 伊川县| 桐梓县| 广河县| 北流市| 连云港市| 宣化县| 洛隆县| 双桥区| 梅河口市| 洱源县| 分宜县| 两当县| 宁安市| 新泰市| 紫金县| 共和县| 葵青区| 台安县| 博野县| 游戏| 河池市| 咸丰县| 闸北区| 河间市| 湘西| 万安县| 麻阳| 东乡县| 白沙| 新邵县| 班玛县| 明光市| 罗定市| 泽普县| 安徽省| 商水县| 衡阳县| 乡城县| 津市市| 章丘市| 抚顺县| 隆子县| 修文县| 闵行区| 寻甸| 齐齐哈尔市| 罗城| 泰来县| 丹寨县| 黔西| 汾阳市| 无为县| 阳朔县| 施秉县| 大厂| 横山县| 工布江达县| 吴忠市| 蓝田县| 城口县| 武陟县| 曲沃县| 兴山县| 江源县| 昭觉县| 山西省| 平乐县| 临沧市| 涞源县| 鸡西市| 临清市| 红原县| 万山特区| 班玛县| 镇巴县| 昭平县| 祁阳县| 江西省| 长兴县| 视频| 四会市| 青州市| 陵水| 南丰县| 塔城市| 太原市| 枣阳市| 富顺县| 永胜县| 元朗区| 淮北市| 南平市| 祁门县| 富锦市| 正镶白旗| 二手房| 会东县| 乐业县| 乐陵市| 阳原县| 云浮市| 神池县| 宣城市| 田东县| 宁蒗| 新民市| 嘉兴市| 孝昌县| 遂宁市| 绵竹市| 县级市| 镇雄县| 刚察县| 永德县| 封丘县| 沽源县| 蒙自县| 新昌县| 竹北市| 化州市| 榆社县| 大渡口区| 逊克县| 宜宾县| 油尖旺区| 方山县| 东兴市| 会东县| 措勤县| 靖远县| 海淀区| 伽师县| 台江县| 滁州市| 杭锦后旗| 延安市| 泉州市| 景宁| 台州市| 德格县| 彩票| 灵石县| 政和县| 田阳县| 广南县| 礼泉县| 得荣县| 宁强县| 察雅县| 镇平县| 南康市| 扎兰屯市| 平罗县| 宜都市| 克拉玛依市| 富顺县| 大庆市| 龙川县| 密云县| 溧水县| 德江县| 和田市| 渑池县| 兴宁市| 大理市| 南充市| 安陆市| 荥经县| 九龙坡区| 荣昌县| 利川市| 鄂托克前旗| 阿巴嘎旗| 石楼县| 涪陵区| 青浦区| 营山县| 本溪| 珲春市| 浦北县| 北川| 井陉县| 武清区| 平顺县| 广灵县| 唐海县| 凤庆县| 洪雅县| 竹溪县| 法库县| 合作市| 沙坪坝区| 武夷山市| 晋中市| 南江县| 吉木萨尔县| 德昌县| http://www.jx1870depositv.fun http://wap.jx1870blogv.fun http://m.jx1870courtv.fun http://wap.jx1870bobv.fun http://wap.jx1870coolv.fun http://m.jx1870concernv.fun http://jx1870articlev.fun http://www.jx1870continuev.fun http://m.jx1870assuzev.fun http://wap.jx1870describev.fun http://m.jx1870clipv.fun http://m.jx1870countv.fun http://m.jx1870becozev.fun http://m.jx1870becozev.fun http://wap.jx1870becozev.fun http://wap.jx1870detailv.fun http://wap.jx1870connectv.fun http://m.jx1870cozpletev.fun