- 浏览: 234557 次
- 性别:
- 来自: 上海
最新评论
-
Dom_4j:
...
理解注解中的@Inherited -
s469799470:
demo少个ID
iframe父子页面交互问题 -
errorerror0:
...
iframe父子页面交互问题 -
errorerror0:
iframe父子页面交互问题 -
johnawm:
2012-12-18 wangshibei 写道CountD ...
CountDownLatch的使用
文章列表
对于IO这种资源无法通过interrupt()方法中断,但是在实际应用中想中断的话,可以尝试关闭任务在其上发生中断的底层资源。
=================
public class IOBlocked implements Runnable{
private InputStream is;
public IOBlocked(InputStream is) {
this.is=is;
}
@Override
public void run() {
// TODO Auto-generated method stub
System. ...
线程类的interrupt()方法可对某一线程进行中断,例子如下:
public class SleepBlocked implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
try {
TimeUnit.SECONDS.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println(& ...
JAVA提供了AtomicInteger,AtomicLong,AtomicReference等原子类,这些原子类有一些方法是原子方法,实例如下:
public class AtomicIntegerTest implements Runnable{
private AtomicInteger i=new AtomicInteger(0);
public int getValue()
{
return i.get();//这是原子方法
}
public void evenIncrement()
{
i.addAndGet(2) ...
场景:
公园的管理人员希望知道每天通过多个大门进入公园的总人数,这样为每个门设置一个计数器,总人数也就是各个计数器的和,代码如下所示:
计数器类
public class Count {
private int count=0;
private Random rand=new Random(47 ...
1.某公司准备购买一设备,买价2000万。可用10年。若租用则每年年初付租金250万,除外,买与租的其他情 况相同。复利年利率10%,要求说明买与租何者为优。P=A×PVI**i,n-1 +A=250×PVI**10%,9+250=1689.75<2000 所以,租为优。
2.某企业现存入银行30000元,准备在3年后购买一台价值为40000元的设备,若复利12%,问此方案是否可行。
F=P×FVIFi,n=30000×FVIF12%,3=42150 >40000 所以,可行。
3.若要使复利终值经2年后成为现在价值的16倍,在每半年计算一次利息的情况下,其 ...
不正确的访问共享资源
- 博客分类:
- 并发
看下面一段代码,这段代码采用了模板设计模式
public abstract class IntGenerator {
private volatile boolean canceled=false;
public abstract int next();
public void cancel()
{ this.cancel ...
Runnable接口不返回任何值,如果希望任务完成时能返回一个值,可以实现Callable接口。
1.Callable是一个类型参数的接口,类型参数表示从方法call()中的返回值。
2.运行时必须使用ExecutorService.submit去调用它,例子如下:
public class TaskWithResults implements Callable<String>{
private int id;
public TaskWithResults(int id) {
// TODO Auto-generated constructor stub
...
Lock对象在使用的时候必须被显示地创建、锁定和释放。它和synchronized关键字的作用类似,举一个例子如下:
======================整数生成类
public abstract class IntGenerator {
private volatile boolean canceled=false;
public abstract int next();
public void cancel()
{ this.canceled=false;
}
public boolean isCanceled()
{
return this.c ...
后台线程是程序在运行的时候在后台提供一种通用服务的线程,当所有的非后台线程结束时,程序也就终止,同时会杀死所有的后台线程。下面的例子很好的说明这一点:
public class SimpleDaemons implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
while(true)
{
try {
TimeUnit.MILLISECONDS.sleep(100);
System.out.println(Thread. ...
concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。
CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务执行完自己的任务后调用同一个CountDownLatch对象上的countDown()方法,这个调用await()方法的任务将一直阻塞等待,直到这个CountD ...
开源软件-opentaps终于搞定了!
- 博客分类:
- 开源软件
今天下载了开源的ERP+CRM软件,部署过程有几点心得,说一下:
1.下载完软件,运行ant 之后报错,这时把build.xml文件中报错的行failonerror="true"去掉
2.重新执行ant run-install,这时会报找不到字符集utf-8和collation
查看我的数据库的show character set和show collation,按照我本地数据库上的
重新修改配置文件上的
3.这时编译成功,启动脚本之后,输入http://localhost:8080/opentaps
之后,出现java.util.regex.PatternSyntaxExc ...
从事Java方面的编程差不多有3年的经验了,最近想学一下 并发、分布式缓存、集群等等的东西 不知道从哪儿入手 ,因为本身开发的项目技术点有限,没有涉及到这方面的。大家说说如何入手阿?