小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 102 下一页

2014年9月4日

Linux系统编程(28)——线程间同步

摘要: 多个线程同时访问共享数据时可能会冲突,这跟前面讲信号时所说的可重入性是同样的问题。比如两个线程都要把某个全局变量增加1,这个操作在某平台需要三条指令完成: 从内存读变量值到寄存器寄存器的值加1将寄存器的值写回内存 假设两个线程在多处理器平台上同时执行这三条指令,则可能导致下图所示的结果,最后变量只... 阅读全文

posted @ 2014-09-04 00:53 牛栏山1 阅读(88) 评论(0) 推荐(0) 编辑

Linux系统编程(27)——线程控制

摘要: 进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,那么如何在一个进程的地址空间中执行多个线程呢。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下载软件,一方面需要和用户交互,等待和处理用户的鼠标键盘事件,另一方面又需要同... 阅读全文

posted @ 2014-09-04 00:51 牛栏山1 阅读(107) 评论(0) 推荐(0) 编辑

Linux系统编程(26)——守护进程

摘要: Linux系统启动时会启动很多系统服务进程,比如inetd,这些系统服务进程没有控制终端,不能直接和用户交互。其它进程都是在用户登录或运行程序时创建,在运行结束或用户注销时终止,但系统服务进程不受用户登录注销的影响,它们一直在运行着。这种进程有一个名称叫守护进程(Daemon)。 下面我们用ps ... 阅读全文

posted @ 2014-09-04 00:49 牛栏山1 阅读(93) 评论(0) 推荐(0) 编辑

Linux系统编程(25)——终端

摘要: 在Linux系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端。控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错... 阅读全文

posted @ 2014-09-04 00:46 牛栏山1 阅读(151) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能

摘要: HTTP是一种很简单的请求、响应式协议,客户端发送一个请求、服务器返回一个响应。HTTP 1.1 版本规范由 RFC2616 定义。了解了 HTTP请求、响应消息在TCP数据流中的格式,很容易使用纯 socket 模拟HTTP客户端、HTTP服务器发送接收数据。 RFC文档全是ASCII码,tx... 阅读全文

posted @ 2014-09-04 00:43 牛栏山1 阅读(135) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(29)——遵守robots.txt

摘要: Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。robots.txt文件是一个文本文件。robots.txt是搜索引擎中访问网站的时候要查看的... 阅读全文

posted @ 2014-09-04 00:27 牛栏山1 阅读(126) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(28)——爬虫socket处理

摘要: Socket是进程之间交换数据的机制。这些进程即可以是同一台机器上的,也可以是通过网络连接起来的不同机器。一旦一个Socket连接建立,那么数据就能够双向传输,直到其中一端关闭连接。 通常,请求数据的应用程序叫做客户端Client,而为请求服务叫做服务器Server。基本上说,首先,服务器监听一个... 阅读全文

posted @ 2014-09-04 00:27 牛栏山1 阅读(140) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(27)——多路IO复用

摘要: 与多线程和多进程相比,I/O多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。主要应用:(1)客户程序需要同时处理交互式的输入和服务器之间的网络连接(2)客户端需要对多个网络连接作出反应(3)TCP服务器需要同时处理多个处于监听状态和多个连接状态的套接字(... 阅读全文

posted @ 2014-09-04 00:26 牛栏山1 阅读(120) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(26)——线程池

摘要: 一旦有一个抓取请求开始,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出。这就是"即时创建,即时销毁"的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数非常频繁,那么服务器就将处于一个不停的创建线程和销毁线程的状态。这笔... 阅读全文

posted @ 2014-09-04 00:22 牛栏山1 阅读(134) 评论(0) 推荐(0) 编辑

2014年9月3日

初识数据类型

摘要: 数据类型是计算机理解数据的方式,因为在计算机中,所有的数据都是二进制,所以对于一个32位的二进制有多种理解方式,那么计算机该按照哪种方式来理解呢?这取决于我们定义时的类型,这个类型就是数据类型,它决定了计算机对二进制数据的理解方式,也决定了可以对这个数据进行哪种操作? 在我们这个系列... 阅读全文

posted @ 2014-09-03 11:18 牛栏山1 阅读(131) 评论(0) 推荐(0) 编辑

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 102 下一页

导航