python多线程多进程与协程
在介绍多线程之前,首先需要熟悉并发和并行,同步和异步的概念。如果阅读完本文章后仍对并发和并行、同步和异步的概念不太理解,没有关系,可以通过代码来慢慢了解这些概念的意义。
1.0基础概念解释1.1并发和并行 并发(concurrency)和并行(parallelism)是两个相似的概念。引用一个比较容易理解的说法,并发是指在一个时间段内发生若干时间的情况,并行是指在同一时刻发生若干事件的情况。
这个概念用单核CPU和多核CPU比较容易说明。在使用单核CPU是,多个工作任务是以并发的方式运行的,因为只有一个CPU,所以各个任务会分别占用CPU的一段时间依次执行。如果在自己分得的时间段没有完成任务,就会切换到另一个任务,然后在下一次得到CPU使用权的时候再继续执行,以此类推,直到完成任务。在这种情况下,因为各个任务的时间段很短、经常切换,所以给我们的感觉是“同时”进行。在使用多核CPU时,在各个核的任务能够同时运行,也就是并行。
1.2同步和异步 同步和异步也是两个值得比较的概念。下面在并发和并行框架的基础上理解同步和异步,同步就是并发或并行的各个任务不是独自运行的,任务之间有一 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment