随笔分类 - python并发编程
发表于 2018-01-08 14:30阅读:296评论:0推荐:0
摘要:文章出自:码农翻身 无意间看到这篇关于“线程”的公众号推文,内容易懂翔实,以一个生动形象的小故事把“线程”讲的很透彻,荐读。 第一回 初生牛犊 我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900 待的时间比较
阅读全文 »
发表于 2017-12-15 15:51阅读:300评论:0推荐:0
摘要:0x01 前言 此文出自:https://www.cnblogs.com/Anker/p/3271773.html 博文主要用unix/linux举例,但道理没问题的同样有助于在Python中理解僵尸进程和孤儿进程 0x02 基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程
阅读全文 »
发表于 2017-12-06 19:18阅读:378评论:0推荐:0
摘要:一 IO模型介绍 为了更好地了解IO模型,可先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别? 这个问题其实不同的人给出的答案都可能不同,
阅读全文 »
发表于 2017-12-05 23:03阅读:338评论:0推荐:0
摘要:0x01 前导 如何基于单线程来实现并发? 即只用一个主线程(可利用的cpu只有一个)情况下实现并发; 并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长 ps:在介绍进程理
阅读全文 »
发表于 2017-12-05 21:58阅读:404评论:0推荐:0
摘要:一 介绍 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。 有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同样
阅读全文 »
发表于 2017-12-05 19:34阅读:865评论:0推荐:0
摘要:前导理论知识见:python并发编程&多线程(一) 一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性 官网链接:https://docs.python.org/3/library/threading.html?hig
阅读全文 »
发表于 2017-12-05 19:06阅读:1418评论:0推荐:1
摘要:本篇理论居多,实际操作见: python并发编程&多线程(二) 一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合到一起,是一个资源单位,而一个车间内
阅读全文 »
发表于 2017-12-05 18:54阅读:7908评论:0推荐:2
摘要:前导理论知识见:python并发编程&多进程(一) 一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看本机核数),在python中大部分情况需要使用多进程。 Python提供了multiproces
阅读全文 »
发表于 2017-12-05 16:19阅读:1212评论:0推荐:0
摘要:本篇理论居多,实际操作见: python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 举例(单核+多道,实现多个进程的并发执行): 二 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。 举例: 需要强调的是:同一个
阅读全文 »