上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现。
在介绍之前,先抛几个问题。
Thread.interrupt()方法和InterruptedException异常的关系?是由interrupt触发产生了InterruptedException异常?Th...
分类:
编程语言 时间:
2014-06-19 13:03:42
阅读次数:
733
本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明:
1、使用Thread的join()方法,join()方法会阻塞主线程继续向下执行。
2、使用java.util.concurrent中的CountDownLatch,是一个倒数计数器。初始化时先设置一个倒数计数初始值,每调用一次countDown()方法,倒数值减一,他的await()方法会阻塞当前进程,直到倒数至0。
join方...
分类:
编程语言 时间:
2014-06-19 11:29:16
阅读次数:
262
在unix系统中对大部分系统调用非正常返回时,通常返回值为-1,并设置全局变量errno,如socket(), bind(), accept(), listen()。erron存放一个正整数来保存上次出错的错误值。
对线程而言,每个线程都有专用的errno变量,不必考虑同步问题。
慢系统调用
指可能永远阻塞而无法返回的系统调用,通常是一些读写的例子,如pipe,终端设备,网络连接,典...
分类:
系统相关 时间:
2014-06-19 10:35:23
阅读次数:
337
http://blog.chinaunix.net/uid-20751538-id-238260.html 非阻塞accept 当一个已完成的连接准备好被accept的时候,select会把监听socket标记为可读。因此,如果用select等待外来的连接时,应该不需要 把监听socket设置为非阻...
分类:
其他好文 时间:
2014-06-16 00:07:49
阅读次数:
345
网站连接 :http://www.gaoshou.me/uid/19125624
不用不知道,一用吓一跳。
每个月的手机话费不用愁了。
仅限苹果手机
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,
2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继...
分类:
Web程序 时间:
2014-06-15 19:08:16
阅读次数:
265
boost::asio设置同步连接超时CSDN上求助无果,只好用自创的非主流方法了。asio自带的例子里是用deadline_timer的async_wait方法来实现超时的,这种方法需要单独写一个回调函数,不利于把连接和超时封装到单个函数里。传统的Winsock编程可以先把socket设为非阻塞,...
分类:
其他好文 时间:
2014-06-15 08:43:18
阅读次数:
274
提高UI性能的方法其实有很多在实际的开发中都已经用到了,在此做一下总结。
1.减少主线程的阻塞时间
若一个操作的耗时较长(超过5秒),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。Android已经提供了AsyncTask以实现从主线程生成新的异步任务的方法。
2.提高Adapter&AdapterView的效率
(1)重用已生成过的Item View
(...
分类:
移动开发 时间:
2014-06-15 08:20:37
阅读次数:
348
web优化必须了解的原理之I/o的五种模型和web的三种工作模式
===========================================
图解五种I/O模型
图解web支持的三种工作模式
===========================================
五种I/O:
1)阻塞I/0
2)非阻塞I/O
3)I/O复用
4)...
分类:
Web程序 时间:
2014-06-15 07:50:59
阅读次数:
222
此实例是一个简单的使用消息队列进行实时聊天的本机通信程序,,发送端每发送一个消息,会立即被接收读取,在没有消息在消息队列中时,将处于阻塞状态。终端1运行接收端#include #include #include #include #include #include #include struct m...
分类:
其他好文 时间:
2014-06-15 06:24:47
阅读次数:
206
第一章 Thread导论
为何要用Thread ?
非阻塞I/O
I/O多路技术
轮询(polling)
信号
警告(Alarm)和定时器(Timer)
独立的任务(Task)
并行算法
第二章 Thread的创建与管理
一、什么是Thread ?
Thread是所在主机执行的应用程序任务(task)。
...
分类:
编程语言 时间:
2014-06-14 07:35:10
阅读次数:
367