python np 存取数据 python存储和读取数据 您所在的位置:网站首页 python编译环境不存在怎么办 python np 存取数据 python存储和读取数据

python np 存取数据 python存储和读取数据

2023-07-03 18:25| 来源: 网络整理| 查看: 265

昨天学爬虫,发现存储图片这一块很空白,所以今天学习这方面的内容。

1 同步与异步:IO在计算机中指Input/Output,也就是输入和输出,

由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题。举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可能需要10秒,怎么办呢?有两种办法:

第一种是CPU等着,也就是程序暂停执行后续代码,等100M的数据在10秒后写入磁盘,再接着往下执行,这种模式称为同步IO;

另一种方法是CPU不等待,只是告诉磁盘,“您老慢慢写,不着急,我接着干别的事去了”,于是,后续代码可以立刻接着执行,这种模式称为异步IO。

同步和异步的区别就在于是否等待IO执行的结果。

2文件: 

os.mkdir('E://python3/testdir') 这个操作是在相应的盘创建一个文件夹(或许这个可以在爬虫存图片用)

os.rmdir('E://python3/testdir') 删除刚才的文件夹

(后面的看不懂了)

进程与多线程:

对于操作系统来说,一个任务就是一个进程(Process),有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)

multiprocessing模块就是跨平台版本的多进程模块 。(from multiprocessing import Process)

 

如果要启动大量的子进程,可以用进程池的方式批量创建子进程 (from multiprocessing import Pool)

subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出

进程间通信

Process之间肯定是需要通信的,操作系统提供了很多机制来实现进程间的通信。Python的multiprocessing模块包装了底层的机制,提供了Queue、Pipes等多种方式来交换数据

多线程

Python的线程是真正的Posix Thread,而不是模拟出来的线程。

ython的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块

多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了

一个ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有