有时,花上几个小时阅读、调试、跟踪优秀的源码程序,能够更快地掌握某些技术关键点和精髓。当然,前提是对这些技术大致上有一个了解。 我通过几个采用 CSocket
类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程序 ( 详见: 源代码参考 ) ,在调试这些程序的....
分类:
其他好文 时间:
2014-05-02 13:04:50
阅读次数:
392
DNS 解析是高性能网络爬虫的瓶颈,主要是因为:1.
由于域名服务的分布式的特性,DNS解析可能需要多次的请求转发,有时需要几秒甚至更长的时间来解析出相应的IP 地址。2.
现有的标准库对DNS解析的实现是同步的。JAVA中InetAddress.getByName是线程阻塞的。并且JAVA中实现的...
分类:
其他好文 时间:
2014-05-02 00:20:56
阅读次数:
349
GCD的任务1> disptach_sync 没有创建线程的欲望,就在当前线程执行
最主要的目的,阻塞并行队列任务的执行,只有当前的同步任务执行完毕后,后续的任务才能够执行 应用场景:用户登录!2> dispatch_async
有创建线程的欲望,但是创建多少条线程,取决与队列的类型GCD的队列1>...
分类:
其他好文 时间:
2014-05-01 20:50:56
阅读次数:
434
NIONIO与IO主要的区别区别见下表:IONIO面向流(输入流/输出流)面向缓冲区(各种缓冲区,除了布尔类型之外其他的基本数据类型都有缓冲区跟其对应)阻塞IO非阻塞IO无选择选择器流与缓冲区
IO面向流,NIO面向缓冲区,面向流意味着每次从流中读取一个字节或多个字节,直到把所有字节读完,没有缓冲....
分类:
编程语言 时间:
2014-05-01 10:55:05
阅读次数:
416
CountDownLatch
类是一个倒计时计数器,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化
CountDownLatch。由于调用了countDown() 方法,所以在当前计数到达零之前,await
方法会一直受阻塞。之后,会释放所有等待的线程,aw...
分类:
编程语言 时间:
2014-05-01 08:21:22
阅读次数:
485
JDK1.5提供了阻塞队列接口BlockingQueue,它是一个有界阻塞队列。BlockingQueue实现是线程安全的,可以安全地与多个生产者和多个使用者一起使用。使用时用其实现类ArrayBlockingQueue,它一个由数组支持的有界阻塞队列。此队列按
FIFO(先进先出)原则对元素进行排...
分类:
编程语言 时间:
2014-05-01 06:58:46
阅读次数:
373
HttpClient作为.net4.5新增的Http库除了对于async/await形式的异步支持外,还向我们展示了其强大的扩展能力。
【类库的设计】 让我们先看下Httpclient的设计图:
图中我们可以清晰的看出对于HttpClient库而言其请求的过程:从Request发起,经过De...
分类:
其他好文 时间:
2014-05-01 01:53:53
阅读次数:
346
问:
JavaScript是单线程的,有任务队列,比如使用setTimeou(func,secs)来在secs毫秒后向任务队列添加func。但是,setTimeout后面跟一个死循环,那么死循环导致任务被阻塞,也就是说func不能执行。
我想请教一下:死循环在执行的时候,secs毫秒过去的时候,func是否被添加到任务队列中?如果添加了,但JS是单线程的,不是在这个线程中添加的,那在哪里被添加的...
分类:
编程语言 时间:
2014-04-30 22:12:39
阅读次数:
350
背景:
写了个程序,主要实现的功能为主线程创建两个子线程,之后主线程进入等待事件的循环。子线程1对临界资源cnt的值减2并输出cnt的值。子线程2对cnt的值加1并输出cnt的值,且当cnt为50的时候触发事件对象hend_even,子进程2退出。主线程收到hend_even后杀死子线程1,之后进入scanf阻塞。。。
代码示例:
#include
#include
DWORD WIN...
分类:
编程语言 时间:
2014-04-29 13:31:21
阅读次数:
377
Cobar启动完成,监听特定端口。整个认证的流程图:NIOAcceptor类继承自Thread类,该类的对象会以线程的方式运行,进行连接的监听。NIOAcceptor启动的初始化过程如下:1 、打开一个selector,获取一个ServerSocketChannel对象,对该对象的socket绑定特定的监听端口,并设置该channel为非阻塞模式,然后想selector注册该channel,绑定感...
分类:
数据库 时间:
2014-04-27 21:47:07
阅读次数:
462