紧急求助,关于ScheduledThreadPoolExecutor类,线程池相关

zcy719 2010-03-10 07:37:38
今天遇到一个面试题,搞不定啊,大侠帮帮忙:

编写代码控制一个点a在10秒以后以直线方式从b位置飞向c位置(每秒向前步进一次)。
完成 run 中的代码

class Point implements java.lang.Runnable
{
float x;
float y;

public Point(int x, int y) {
this.x = x;
this.y = y;
}

@Override
public void run() {
// TODO Auto-generated method stub

System.out.println(x+","+y);
}


static Point a = new Point(0, 0);
static Point b = new Point(127, 431);
public static void main(String[] args)
{
java.util.concurrent.ScheduledThreadPoolExecutor
scheduled = new java.util.concurrent.ScheduledThreadPoolExecutor(10);
scheduled.scheduleAtFixedRate(
a, 1, 1, java.util.concurrent.TimeUnit.SECONDS);
}
}
...全文
172 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wts 2010-03-18
  • 打赏
  • 举报
回复
呵呵,忘了设置语法格式了,将就看吧 :)
wts 2010-03-18
  • 打赏
  • 举报
回复
恰巧在看ScheduledExecutorService的代码
粘贴一段Doc给你,应该有帮助:
用法示例
以下是一个带方法的类,它设置了 ScheduledExecutorService ,在 1 小时内每 10 秒钟蜂鸣一次:
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);

public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}

具体可以参见jdk1.5的java doc

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧