package money.thread;

import money.Log;

public class AddRunner extends ExecutableRunner {

    private static final String TAG = "AddRunner";
public int a; public AddRunner(Object readyTaskListLock, String description, int exclusiveValue, int type) {
super(readyTaskListLock, description, exclusiveValue, type);
a = 0;
} @Override
public void run() { while (true) {
a++;
Log.d(TAG, "description:" + description + " a:" + a); try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} if (a == 5) {
synchronized (readyTaskListLock) {
// TODO: modify state
readyTaskListLock.notify();
}
return;
}
}
}
}
package money;

import money.thread.AddRunner;
import money.thread.ExecutableRunner; public class Test { private static final String TAG = "Test"; public static void main(String[] args) {
Processor processor = Processor.instance();
processor.start(); // wait for the initialization of processor
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
} for (int i = 0; i < 4; i++) {
ExecutableRunner runner = new AddRunner(processor.getReadyTaskListLock(), "" + i, 0, 0);
processor.addTask(runner); try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} Log.d(TAG, "to add other task....");
}
}

随机推荐

  1. 【OpenJudge9268】【递推】酒鬼

    酒鬼 总时间限制: 2000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB [描述] Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅.今天,他来到这个大 ...

  2. MathType插入空格

    公式太长,换行后加一些空格,继续录. 将鼠标定位到需要插入空格的位置,此时如果直接按空格键,你会发现并不能插入空格.正确的输入方法有两种: 方法一,在菜单栏中[样式]菜单下选择[文本],随后按空格键即 ...

  3. 几种常用的json序列化和反序列化工具介绍

    一.前言 Json序列化和反序列化工作中会时常用到,也是目前数据交互的常用格式,Rest风格的接口加上json格式的数据交互,真的是天作之合. 目前Json字符与Json对象的相互转换方式有很多,接下 ...

  4. nodeJs的模块依赖

    1.require载入依赖 var http = require('http');//http为路径,可以忽略后缀 2.exports输出依赖 exports.add=add;//add为方法 3.只 ...

  5. javascript设定指定元素的父结点的孙子节点的属性

    window.onload=function(){ var allerror_a = document.getElementsByClassName("popup_link"); ...

  6. ubuntu16.04给普通用戸提成root权限,会出现造成重启系统,没有登录用户

    一.导致问题的原因 直接修改配置文件提权,会造成重启系统后没有原来的登录用户 vim /etc/passwd nulige:x:0:0:nulige,,,:/home/gree:/bin/bash 解 ...

  7. iTOP-4412 开发板的 GPIO 是怎么操作的?

    Exynos4412 全部的 GPIO 都有固定的地址,为了方便操作这些 GPIO.Linux 内核 在 gpio-exynos4.h 里面定义了一些 GPIO 的宏.比如: #define EXYN ...

  8. hive开窗函数over(partition by ......)用法

    一.over(partition by ......)主要和聚合函数sum().count().avg()等结合使用,实现分组聚合的功能 示列:根据day_id日期和mac_id机器码进行聚合分组求每 ...

  9. 【前后台分离模式下,使用OAuth Token方式认证】

    AngularJS is an awesome javascript framework. With it’s $resource service it is super fast and easy ...

  10. Spark(四) -- Spark工作机制

    一.应用执行机制 一个应用的生命周期即,用户提交自定义的作业之后,Spark框架进行处理的一系列过程. 在这个过程中,不同的时间段里,应用会被拆分为不同的形态来执行. 1.应用执行过程中的基本组件和形 ...