Redis是一个响应式的服务,当客户端发送一个请求后,就处于阻塞状态等待Redis返回结果。这样一次命令消耗的时间就包括三个部分:请求从客户端到服务器的时间、结果从服务器到客户端的时间和命令真正执行时间,前两个部分消耗的时间总和称为RTT(Round Trip Time),当客户端与服务器存在网络延时时,RTT就可能会很大,这样就会导致性能问题。管道(Pipeline)就是为了改善这个情况的,利用...
分类:
其他好文 时间:
2015-03-19 18:26:57
阅读次数:
234
FutureTask实现了Runnable和Future接口,是一个可取消的异步任务。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法,此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消...
分类:
编程语言 时间:
2015-03-19 00:49:21
阅读次数:
208
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界...
分类:
移动开发 时间:
2015-03-18 17:32:51
阅读次数:
252
1. 概述 本章包括同步资源以及取消长时间任务相关的内容。2. 主要内容 2.1 同步资源 ① lock关键字实现。会阻塞程序,有可能会导致死锁。 ② volatile关键字可以禁用编译优化,用于避免优化代码时对多线程的影响。private static volatile int _...
分类:
编程语言 时间:
2015-03-18 17:20:57
阅读次数:
185
传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下。生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等。这些操作都需要占用CPU,而且...
分类:
系统相关 时间:
2015-03-18 17:15:41
阅读次数:
143
平常生活中就有很多例子可以去研究和理解并发和多线程。 比如: 做饭有几个任务(说简单点):煮饭、炒菜 同步就是,先去煮饭,等20分钟饭煮好了再去炒菜;我想现实生活中没有人去这样做,这样效率太低。 我没必要...
分类:
其他好文 时间:
2015-03-18 12:37:10
阅读次数:
152
死锁的条件互斥条件(Mutual exclusion) :资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):进程已获得了一些资源,但因请求其它资源被阻塞时,对已获得的资源保持不放。不可抢占条件(No pre-emption) :有些系统资源是不可抢占的,当某个进程已获...
分类:
其他好文 时间:
2015-03-17 20:05:33
阅读次数:
122
CountDownLatch:一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化 CountDownLatch。由于调用了 countDown()方法,所以在当前计数到达零之前,await方法会一直受阻塞。之后,会释放所有等待的线程,await的...
分类:
其他好文 时间:
2015-03-17 13:46:32
阅读次数:
120
create proc sp_lockinfo @kill_lock_spid bit=1, --是否杀掉阻塞的进程,1 杀掉, 0 仅显示 @show_spid_if_nolock bit=1, --如果没有阻塞的进程,是否显示正常进程信息,1 显示,0 不显示 @dbname s...
分类:
数据库 时间:
2015-03-17 12:02:40
阅读次数:
211
摘要:本文主要介绍,linux进程通信中的信号机制,介绍信号的本质与作用原理;重点讲解信号的处理流程,同时介绍了信号的安装\发送\阻塞等概念....
分类:
其他好文 时间:
2015-03-17 10:29:39
阅读次数:
125