(程序) 多线程: 在同一应用程序中有多个功能流同时执行 已经有了进程,为什么还会需要线程呢?主要原 ...
最近用C写了个爬虫,纯属练习,离实用还相差甚远。 下载源码:ISeeSpider bloom.h实现布隆过滤器算法。对一条url拆分为domain和path两部分,bloomDomain函数判断domain是否出现过,bloomPath函数判断path是否出现过。如果domain未出现过,则要先进行DNS解析 解析之后把domain和ip对存入map ,再下载网页 如果domain出现过,则不需要 ...
2012-02-14 19:32 7 5548 推荐指数:
(程序) 多线程: 在同一应用程序中有多个功能流同时执行 已经有了进程,为什么还会需要线程呢?主要原 ...
1、进程和线程的概念 进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存) 线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源); 在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。 区别: 1、是否占有资源问题 ...
概念解释: 同步/异步, 它们是消息的通知机制 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 简单来说就是当前程序执行完才能执行后面的程序,程序执行时按照顺序执行 ...
Queue是什么 队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除元素的。在FIFO队列中,所有新元素都插入队列的末尾。队列都是线程安全的,内部已经实现 ...
ProcessPoolExecutor对multiprocessing进行了高级抽象,暴露出简单的统一接口。 异步非阻塞 爬虫 对于异步IO请求的本质则是【非阻塞Socket】+【IO多路复用】: 史上最牛逼的异步IO模块 import ...
NIO提到这个词,很多人会条件反射的说出这样的话:“非阻塞IO,速度快!”。但是为什么非阻塞IO,就会比阻塞式IO速度快呢?下面用一个普遍的例子形容一下阻塞io与非阻塞io的工作方式有一个读取数据的任务A。阻塞io工作方式:1、尝试读取数据2、如果数据没有准备完成(在web等工作环境下,经常出现 ...
一.概念理解 1.同步异步: 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话 ...
线程同步技术: 解决多个线程争抢同一个资源的情况,线程协作工作。一份数据同一时刻只能有一个线程处理。 解决线程同步的几种方法: Lock、RLock、Condition、Barrier、semaphore 1)Lock 锁 锁,一旦线程获得锁,其它试图获取锁的线程将被 ...