iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作主要特性有: 队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它接收连接,...
分类:
移动开发 时间:
2014-08-11 21:11:52
阅读次数:
416
在读取网络中流数据时,通常要创建一个网络连接。然而在创建URL连接时,我们通常会忽略掉设置ConnectTimeout,以及ReadTimeout:URL url = new URL(urlstr);URLConnection conn = url.openConnection();Buffered...
分类:
其他好文 时间:
2014-08-11 17:31:12
阅读次数:
160
二:在开放的过程中,尽量把工具类,BaseActivity 放在指定的位置,
DateFormat
Bitmap
Notification
Shared Preference
Environment
Device
三:
2.2 Task管理
线程只是一种机制,保证我们要完成的任务不运行在UI线程(也就是说不阻塞UI),完成的任务才是我们关注的核心,因此,我们可以通...
分类:
移动开发 时间:
2014-08-11 15:14:02
阅读次数:
247
模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,这句话可能有点绕,等文章后面举例说明;异步调用是一种类似消息或事件的机制,解决了同...
分类:
编程语言 时间:
2014-08-11 14:56:52
阅读次数:
233
无锁编程以及CAS
无锁编程 / lock-free / 非阻塞同步
无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。
实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking algorithm)。
lock-free是目前最...
分类:
其他好文 时间:
2014-08-11 11:58:42
阅读次数:
321
【优化tornado阻塞任务的三个选择】1、优化阻塞的任务,使其执行时间更快。经常由于是一个DB的慢查询,或者复杂的上层模板导致的,这个时候首要的是加速这些任务,而不是优化复杂的webserver。可以提升99%的效率。2、开启一个单独的线程或者进程执行耗时任务。这意味着对于IOLoop来说,可以开...
分类:
其他好文 时间:
2014-08-11 11:54:12
阅读次数:
275
这是一个基于Comet实现的聊天室Demo,功能类似于QQ群聊。聊天过程中如果有新想消息,那么就需要服务器推送消息到浏览器,所以这里可以使用Comet技术。
Comet一般有两种实现方式:长轮询(long-polling)、流(streaming)。而本文中的这个Demo的实现方式是基于流(streaming),前端使用了一个隐藏的iframe,这也是比较常用的一种方式。不过由于使用iframe流,导致浏览器上面的进度一直在转,这是因为iframe一直在加载的原因,先不要在意这些细节。
Tomcat提供了C...
分类:
其他好文 时间:
2014-08-11 10:09:52
阅读次数:
213
Java-SynchronousQueue(同步队列) 阻塞队列小记...
分类:
编程语言 时间:
2014-08-10 21:38:20
阅读次数:
327
1. 在服务器程序时,很容易出现内存泄露。以及内存溢出等问题。 出现这些问题往往会导致程序无法正常运行,比如异常退出、阻塞。然而,在发生这些错误的时候往往会令人很困惑,因为这些错误很难被发现。解决这些问题往往会耗费大量的时间。因而保持良好的代码习惯对一个程序的健壮性具有重要的意义,也是一个优秀的程....
分类:
其他好文 时间:
2014-08-10 21:28:50
阅读次数:
209
对于BlockingQueue的具体实现,主要关注的有两点:线程安全的实现和阻塞操作的实现。所以分析ArrayBlockingQueue也是基于这两点。对于线程安全来说,所有的添加元素的方法和拿走元素的方法都会涉及到,我们通过分析offer方法和poll()方法就能看出线程安全是如何实现的。首先来看...
分类:
编程语言 时间:
2014-08-10 21:05:50
阅读次数:
247