在多线程开发中,有一个很经典的名词,那就是信号量。信号量就是用来衡量一个资源的可利用数目的,根据信号
量的多少来控制在多线程中各个资源之间的冲突问题,在Java中也提供了对信号量的支持。
而且在创建信号量的时候,第二个参数用来指定采取何种分配策略,比如当有很多线程被阻塞,但有一个机会的时
候,信号量应该选择谁去运行呢,如果选择true,就采用公平模式,到时候看哪个线程等待的时间最久,...
分类:
编程语言 时间:
2014-09-21 23:57:51
阅读次数:
277
原文:5. SQL Server数据库性能监控 - 当前请求对于在线运行的系统,当前数据库性能监控,通常监视以下几点:
(1) 是否有阻塞 (Blocking);
(2) 是否有等待 (Waiting),阻塞就是锁 (Lock) 等待;
(3) 是否运行时间过长(Long running);
(4)...
分类:
数据库 时间:
2014-09-21 22:16:21
阅读次数:
314
同步VS异步
首先,异步编程和同步编程是有极大的不同的。在同步编程中,你所有的操作都是顺序执行的,比如从一个socket中读取(请求),然后写入(回应)到socket中。每一个操作操作都是阻塞的。因为操作是阻塞的,所以为了不影响主程序,当读写一个socket时,通常创建一个或多个线程来处理socket的输入/输出。因此,同步的服务端/客户端通常是多线程的。...
分类:
编程语言 时间:
2014-09-21 20:59:41
阅读次数:
233
原文地址:HTML5′s async Script Attribute原文日期: 2010年09月22日翻译日期: 2013年08月22日(译者注:异步加载,可以理解为无阻塞并发处理.)(译者再注:建议使用 defer,但是经测试发现 defer 属性对页面内的script无效,没有时序差别.只对外...
分类:
Web程序 时间:
2014-09-20 20:26:09
阅读次数:
236
Verilog语言中讲的阻塞赋值与非阻塞赋值,但从字面意思来看,阻塞就是执行的时候在某个地方卡住了,等这个操作执行完在继续执行下面的语句,而非阻塞就是不管执行完没有,我不管执行的结果是什么,反正我继续下面的事情。而Verilog中的阻塞赋值与非阻塞赋值正好也是这个意思,通过执行一个例子,就可以简单地...
分类:
其他好文 时间:
2014-09-19 22:18:56
阅读次数:
223
一、死锁 操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机制会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为....
分类:
其他好文 时间:
2014-09-19 19:03:05
阅读次数:
160
首先简述下几个概念的关系:
我们通过信号集建立信号屏蔽字,使得信号发生阻塞,被阻塞的信号即未决信号。
信号集:
信号集:其实就是一系列的信号。用sigset_t set表示。
数据类型:sigset_t 类似于整型(位数可能超过整型,因而不能用整型表示)。
我们一般在sigprocmask()等函数中使用信号集,用于创建一系列进程要阻塞的信号,告诉内核不允...
分类:
其他好文 时间:
2014-09-19 12:09:05
阅读次数:
252
有时候在java代码中会调用一些外部程序,比如SwfTools来转换swf、ffmpeg来转换视频等。如果你的代码这样写:Runtime.getRuntime().exec(command),会发现程序一下就执行完毕,而在命令行里要执行一会,是因为java没有等待外部程序的执行完毕,此时就需要使用阻...
分类:
编程语言 时间:
2014-09-19 09:55:25
阅读次数:
241
IOS开发中网络编程应用场景:JSON数据获取,网络数据的下载。一:请求JSON数据一般用异步请求的方式,如果用同步请求,则会造成IOS界面的执行过程阻塞,即界面部分在请求数据的过程中必须等待数据加载完毕。JSON数据的获取步骤:1.设置网络地址的字符串:NSString *URLString = ...
分类:
移动开发 时间:
2014-09-18 18:30:24
阅读次数:
222