- 浏览: 167826 次
- 性别:
- 来自: 北京
最新评论
-
376174502:
请问一下,Ice中的 Object 和 java 中的 Obj ...
ICE简单介绍及使用示例
文章列表
面试题 子线程执行10次,主线程执行100次;接着子线程再执行十次,主线程再执行100次,如此循环50次
package com.ronbay.thread.timer;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import javax.swing.text.StyledEditorKit.ForegroundAction;
/**
...
Semaphore实现信号灯
- 博客分类:
- 多线程
1.Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个允许的并发访问数。
(1)Semaphore实现的功能就类似厕所有5个坑,假如有十个人要上厕所,那么同时能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中在等待的另外5个人中又有一个可以占用了。 (2)另外等待的5个人中可以是随机获得优先机会,也可以是按照先后到的顺序获得机会,这取决于构造Semaphore对象传入的参数选项。
2.单个信号量的Semaphore对象可以实现互斥锁的功能,并且可以是有一 ...
Condition
Condition的功能类似在传统线程技术中的Object.wait()和Object.notify() 的功能。在等待Condition时,允许发生“虚假唤醒”,这通常作为对基础平台语义的让步。对于大多数应用程序,这带来的实际影响很小,因为Condition应该是在一个循环中被等待,并测试正被等待状态声明。某个实现可以随意移除可能的虚假唤醒,但建议应用程序程序员总是嘉定这些虚假唤醒可能发生,因此总是在一个循环中等待。
package com.ronbay.thread;
import java.util.concurrent.locks.Conditi ...
Java读写锁ReadWriteLock
- 博客分类:
- 多线程
1.多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥
package com.ronbay.thread.timer;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* @author Ronbay
* 一个面试题 缓存系统
*
*/
public class CacheDemo ...
Lock&Condition实现线程同步通信
- 博客分类:
- 多线程
Java1.5提供了锁机制,位于java.util.current.locks下面
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们徐用同一个Lock对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中。读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥这是由JVM自己控制的,你只要上号相应的锁即可。如果你的代码只读数据,可以多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据。只能有一个在写,且不能同时读取,那就上写锁。总之,读的时候上读 ...
Callable和Future
- 博客分类:
- 多线程
package com.ronbay.thread.timer;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
public c ...
1、安装需要的支持环境
在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程 ...
Redis监控Redis-stat
- 博客分类:
- Redis监控
Redis-stat
一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。
redis监控软件,redis-stat安装
1、安装依赖
yum -y install ruby ruby-devel rubygems
2、安装redis-stat软件,可能比较慢且执行失败,多执行几次就会成功
运用Ajax这么多年了,PrintWriter中write()方法和print()方法都在用,还不知道其区别
1.共同点:两者都不刷新页面,只在原来的页面写数据.最终都是重写了抽象类Writer里面的write方法.2.区别: (1)print方法可以将各种类型的数据转换成字符串的形式输出。
(2)重载的write方法只能输出字符、字符数组、字符串等与字符相关的数据。
Java四种线程池的使用
本文转载,转载地址:http://cuisuqiang.iteye.com/blog/2019372
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回 ...
java.util.Date是在除了SQL语句的情况下面使用的。java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,前者是常用的表示时间的 ...
Centos安装Redis
- 博客分类:
- Redis
1、安装需要的支持环境
在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程为:
cd /usr/local/srcwget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gztar -zxvf tcl8.6.3-src.tar.gzcd tcl8.6.3/unix/./conf ...