进程与线程的区别 附加爬取喜马拉雅有声书代码
1.什么是线程?
线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元)。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
2.什么是进程?
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。里面包含对各种资源的调用,内存的管理,网络接口的调用等。。。对各种资源管理的集合 就可以称为 进程
3.线程和进程的区别
(1)线程共享内存空间;进程的内存是独立的
(2)同一个进程的线程之间可以直接交流;两个进程想通信,必须通过一个中间代理来实现
(3)创建新线程很简单; 创建新进程需要对其父进程进行一次克隆
(4)一个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程
(5)改变主线程(如优先权),可能会影响其它线程;改变父进程,不影响子进程
from lxml import etree
import requests
from urllib import parsedef page_download(url_href):trace_id = url_href.split('/')[-1]url = 'https://www.ximalaya.com/revision/play/tracks?trackIds='+str(trace_id)headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'}response = requests.get(url, headers=headers)json_dict = response.json()src_str = json_dict['data']['tracksForAudioPlay'][0]['src']trackName = json_dict['data']['tracksForAudioPlay'][0]['trackName']from urllib import requestrequest.urlretrieve(src_str, 'yishuochunqiu/'+trackName + '.m4a')print(src_str,trackName)
def get_url(queue):for i in range(1,22):url_base = 'https://www.ximalaya.com/lishi/4164479/p%s/'%iheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'}response = requests.get(url_base, headers=headers)html_str = response.text# with open('yishuo.html', 'wb') as f:# f.write(response.content)html_ele = etree.HTML(html_str)href_list = html_ele.xpath('//ul[@class="dOi2"]/li/div[2]/a/@href')for href in href_list:detail_url = parse.urljoin(url_base, href)# page_download(detail_url)queue.put(detail_url)if __name__ == '__main__':from multiprocessing import Process,Queue,Poolq = Queue()p = Process(target=get_url,args=(q,))p.start()download_pool = Pool(5)for m in range(1,20):mp3_url = q.get()download_pool.apply_async(page_download,args=(mp3_url,))download_pool.close()download_pool.join()p.join()
进程与线程的区别 附加爬取喜马拉雅有声书代码相关推荐
- Python爬取喜马拉雅有声小说【转载】
话不多说 直接上源码 爬取喜马拉雅有声小说-夜惊魂 import re import os import json import requests def Night_fright(): start_ ...
- python爬取喜马拉雅有声小说
以绝世高手为例,爬取前三页的所有音频 采集地址:https://www.ximalaya.com/youshengshu/16411402/ 思路只有两个:获取一级页面.获取二级页面 先一步二步看一下 ...
- python爬取有声小说_听说还有付费听书的朋友,用python带你爬取喜马拉雅有声小说...
思路只有两个:获取一级页面.获取二级页面 先一步二步看一下代码: def get_mes(self): id_list = [] # 获取前三页的地址,range顾头不顾尾 for i in rang ...
- task.run 强制结束线程_图文介绍进程和线程的区别
点击蓝色"最码农"关注我哟 加个"星标",每天下午18:03,一起学技术 进程和线程的概念 先了解一下操作系统的一些相关概念,大部分操作系统(如Windows. ...
- Interview:算法岗位面试—BAT公司问题面试之计算机基础(进程与线程的区别)、经典概率问题等集锦
Interview:算法岗位面试-BAT公司问题面试之计算机基础(进程与线程的区别).经典概率问题等集锦 目录 计算机基础问题 1.进程与线程的区别 概率问题 1.貂蝉与西施回头率比美问题 计算机基础 ...
- 【面试问题】进程和线程的区别——通俗易懂
1. "进程"是什么 1.2 管理进程 1.3 内存管理 1.4 进程间通信 2. 线程是什么 3.进程和线程的区别 1. "进程"是什么 在对比"进 ...
- 进程和线程的区别,进程间通信方式,怎么选择比较好
此篇文章讲解比较多,面试记住原理特点应该差不多了 进程和线程的区别 进程 进程是资源分配的基本单位. 进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态 ...
- 进程和线程的区别和联系
目录 线程 概念 存在意义 进程和线程的区别和联系 线程 概念 进程就是一个"执行流",按照某种顺序执行自己的代码. 存在意义 如今各种操作系统均能实现多进程同时执行,也就是支持并 ...
- Linux进程与线程的区别 详细总结(面试经验总结)
首先,简要了解一下进程和线程.对于操作系统而言,进程是核心之核心,整个现代操作系统的根本,就是以进程为单位在执行任务.系统的管理架构也是基于进程层面的.在按下电源键之后,计算机就开始了复杂的启动过程, ...
最新文章
- cp 与 find结合用
- mysql常用语句和函数
- 定制jQuery File Upload为微博式单文件上传
- 使用Java将数据流式传输到HPCC
- 2020年前端招聘技术概览
- #化鲲为鹏,我有话说# 鲲鹏云服务器的使用小技巧之SSH(一)
- 沉迷Link-Cut tree无法自拔之:[BZOJ2594][Wc2006]水管局长数据加强版
- js 打印出来的节点多了m_前端实用技术分享—用Vue实现打印指定区域
- Jmeter ramp-up 参数含义 以及http请求测试流程零基础
- 教你用Python自制一张好看的指数估值图!这招很好用!
- bcc语料库下载_语料库汇总
- 2017-2018年终总结书
- win10安装opcenum_如何完美的解决win10安装时遇到的问题?
- pip 按照requirements.txt安装到对应的package名称的文件中
- Maya offline document
- Matplotlib文字处理
- RPM(软件包管理器)和YUM 软件仓库
- 苹果手机来电归属地_苹果手机来电铃声、充电音还能这么有趣?这款神器也太炫了...
- 【转】在win10接双显示器(扩展模式)怎么把鼠标游标切换到第二台显示器上?
- How to fix the global rice crisis 如何应对全球稻米危机 | 经济学人20230401版双语精翻
热门文章
- 5天破10亿的哪吒,为啥这么火,Python来分析!
- delimiter(delimiter)
- 蚂蚁京东新浪10位架构师424页佳作深入分布式缓存从原理到实践
- 高中学历可以学java么_初高中学历能学会Java吗,低学历能学Java吗?
- 强推一款谷歌新标签管理插件——infinity Pro!
- 快毕业的时候,研究生就业率还不到9%!全省最强的211大学就业率这么低?
- Visual Studio 2019安装中出现的问题(超详细)
- ZBlog建站个人经验
- 注会综合记忆锦囊:手绘PEST模型,记忆可以这样玩
- 内网渗透 | 信息收集