在jdk 的API中提供了一个字符串的阻塞队列 :class BoundedBuffer {
final Lock lock = new ReentrantLock(); final Condition notFull =
lock.newCondition(); final Con...
分类:
其他好文 时间:
2014-05-16 05:11:43
阅读次数:
323
题目要求:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次synchronized的使用import
java.util.concurrent.atomic.AtomicInteger;public class Traditional...
分类:
编程语言 时间:
2014-05-16 04:54:15
阅读次数:
312
贵灯提供的简单打印函数,非原创; 注意: do{}while(false); 的使用(内部多个判断,用
do false 中的 break 可以避免使用 if true 引起的嵌套层数过多); 关键段 CRITICAL_SECTION 的使用,封装了 lock 和
unlock 函数; 不定长参数 ...
分类:
其他好文 时间:
2014-05-16 04:26:20
阅读次数:
321
本人使用的Tomcat版本为apache-tomcat-6.0.18(用的是解压包),在eclipse下能够正常启动,可是当手动通过cmd进入bin目录启动startup.bat个时候提示:The
JAVA_HOME environment variable is not defined co...
分类:
其他好文 时间:
2014-05-16 03:28:36
阅读次数:
334
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Co...
分类:
其他好文 时间:
2014-05-15 21:48:03
阅读次数:
427
spring作为一个轻量级框架,并没有什么划时代的革新,也没有新鲜的点子让你耳目一新。但一直以来它却与jave息息相关,他做了什么?让我们这么依赖与它?我想,知道spring的都知道ioc,aop,就是说注入和切面。简单来讲,降低耦合和控制事物。否则,你需要不断的new来new去、不断的传递那个co...
分类:
编程语言 时间:
2014-05-15 16:36:36
阅读次数:
344
输入输出重定向1,输入输出重定向,是针对过滤器的,不针对,编辑器和交互工具2,>号只把正确的标准输出重定向,输出错误信息,可以用2>3,新建或清空文件可以直接用>filename,>和2>都会清空目标文件4,&>号可以把正确信息和错误信息全部输出重定向65,>>可以把重定向追加到目标文件6,a.tx...
分类:
系统相关 时间:
2014-05-15 09:27:22
阅读次数:
367
前段时间研究过一阵子无锁化编程。刚写了几个简单的程序,来验证了下自己学到的一些概念。
测试场景:假设有一个应用:现在有一个全局变量,用来计数,再创建10个线程并发执行,每个线程中循环对这个全局变量进行++操作(i++),循环加2000000次。
所以很容易知道,这必然会涉及到并发互斥操作。下面通过三种方式来实现这种并发操作。并对比出其在效率上的不同之处。
......
通过编程测试及测试得出结论:
1、如果是想用全局变量来做统计操作。而又不得不考虑多线程间的互斥访问的话,最好使用编译器支持的原子操作函...
分类:
其他好文 时间:
2014-05-15 00:17:24
阅读次数:
390
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397
今天来了解下Linux的启动过程,以及内核的组成,让我们动手制作一个小linux。启动过程:POST-----Bootloader(这里分为两段1、磁盘的前446字节,2、/boot/grub)------kernerl--------挂载根文件系统为只读--------/sbin/init------inittab设定默认级别-------/etc/init/rcS.co..
分类:
系统相关 时间:
2014-05-14 17:34:43
阅读次数:
395