内置锁和内置条件队列一起,一个简单的应用是创建可阻塞的有界缓存区,java并发包的BlockingQueue就是一个利用Lock和显式条件队列实现的可阻塞的有界队列。总结内置锁和内置条件的原理,这里我们用另一种方式实现简单的可阻塞缓存。源码如下:
首先,创建一抽象有界缓存类ABoundedBuffer,提供插入和删除的基本实现。
/**
* @title :AB...
分类:
编程语言 时间:
2014-12-30 11:53:34
阅读次数:
119
最近做操作系统的课程设计,网上看到一些动态调度的算法都是基于C写的,下午闲来无事,用Java写了一个高优先级调度的算法玩玩,这个算法首先有这几条要注意优先级是否可以为负的,答案是肯定的,如果有一个线程阻塞了另外一个线程一直去运行就可能一直减去,让优先级变成负数了阻塞的时机:可以说阻塞的时机特别的重要...
分类:
编程语言 时间:
2014-12-29 21:23:53
阅读次数:
423
已有文件传输方案的问题
因为丢失或者更糟的情况,暴露了合作伙伴的敏感文件,对企业的业务造成影响?大文件阻塞了系统,使关键业务流程运行缓慢?现有的文件传输解决方案经常会造成文件的丢失或损坏?能否追踪到哪一个部门、合作伙伴或者员工使用了最多的资源?现有的工具是否难于诊断文件传输的问题?在构建、监控和维护文件传输时,是否受制于现有的资源?
产品概览
即使在当今动态的、面向事件的业务环境当中,对...
分类:
数据库 时间:
2014-12-29 12:09:17
阅读次数:
206
一、浏览器的并发请求数目限制是针对同一域名的。即,同一时间针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞。不同浏览器这个限制的数目不一样:二、下边技术的出现和大量使用都和并发资源数有关。1.Cookie-freedomain由于写在主域名下的cookie,如 xxx.com下的 co...
分类:
其他好文 时间:
2014-12-29 01:02:19
阅读次数:
166
一般介绍:由于mongodb数据库在javascript脚本环境中支持bson对象(json对象的二进制形式)的存取,因此对于数据的存取的效率是非常高的.在mongodb数据库中,将每一条等待插入的数据记录存储在内存中,因此,该数据库是一种非阻塞型数据库,在需要记录大量日志数据,实时测量数据或实时统...
分类:
数据库 时间:
2014-12-28 20:42:00
阅读次数:
179
#include "stdafx.h"#include using namespace std;#include #include CRITICAL_SECTION cs;//1.测试同一线程两次EnterCriticalSection会不会阻塞//答案:不会/*int _tmain(int arg...
分类:
编程语言 时间:
2014-12-28 11:39:19
阅读次数:
165
1.FTP的主动模式和被动模式的区别:最大的区别是数据端口并不总是20,主动模式和被动模式的优缺点:主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端 的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但...
分类:
其他好文 时间:
2014-12-27 17:30:48
阅读次数:
121
生产者消费者问题
(英语:Producer-consumer
problem),也称有限缓冲问题(英语:Bounded-buffer
problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这...
分类:
数据库 时间:
2014-12-27 00:21:38
阅读次数:
246
在CLH锁核心思想的影响下,Java并发包的基础框架AQS以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队列、释放锁等实现都与头尾节点相关,并且每个节点都引入前驱节点和后后续节点的引用;在等待机制上由原来的自旋改...
分类:
编程语言 时间:
2014-12-26 23:02:18
阅读次数:
370
onload事件在html文档中所有的节点都下载完成后执行,包括js,css,图片的资源完全下载后才执行。如果js 设置了defer之后,js的解析执行在浏览器生成了html文档后执行,不包括图片的资源下载如果js没有设置defer,将一个js放在head加载,会阻塞后面的内容加载。如下面的例子如果将defer=true去掉,直到x1.jscript和x2.jscript下载完成后,后面的aler...
分类:
Web程序 时间:
2014-12-26 18:44:23
阅读次数:
210