我有两个函数A、B,要同时启动两个线程来执行。问题:1、启动线程时,记录A、B各自运行了多长时间,并且显示在一个JLabel上。 2、用户要求要每隔一个时间t,重复执行A、B。而且这个t是要可以用户自己设置的,不能写死。
目前我只会重新启动一个timer对一个函数的运行时间计时,但是这些功能都放在一起,不知道怎么整合。 需要创建几个timer,同时实现运行时间计时、间隔时间t计时? 3、这两个函数都要操作同一个数据库,但是并不操作同一个表,这样是不是不会涉及到 “线程同步”的问题?
按照如上要求,这个timer要自己重新写一个类(里面写方法),还是直接在按钮里写timer的代码?各位高人能否给一个大概的结构?新手,请多多关照,谢谢各位了!
目前我只会重新启动一个timer对一个函数的运行时间计时,但是这些功能都放在一起,不知道怎么整合。 需要创建几个timer,同时实现运行时间计时、间隔时间t计时? 3、这两个函数都要操作同一个数据库,但是并不操作同一个表,这样是不是不会涉及到 “线程同步”的问题?
按照如上要求,这个timer要自己重新写一个类(里面写方法),还是直接在按钮里写timer的代码?各位高人能否给一个大概的结构?新手,请多多关照,谢谢各位了!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;public class TimerDemo extends JFrame {// 窗体类,继承JFrame
JLabel timer;// 声明标签 public TimerDemo() {
super("时钟");
Container c = this.getContentPane();// 得到内容面板
// c.add(new JLabel());
timer = new JLabel();
c.add(timer);// 将timer添加到内容面板中
timer.setFont(new Font("宋体", Font.BOLD, 120));// 设置字体
setSize(900, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭按钮
} public static void main(String args[]) {
TimerDemo td = new TimerDemo();// 创建窗体对象
new Timer(td).start();// 创建线程对象,并启动
}
}class Timer extends Thread {// 线程类,继承Thread类
TimerDemo tb;// 以窗体作为其成员 Timer(TimerDemo tb) {// 构造方法
this.tb = tb;
} public void run() {// 线程体
while (true) {
SimpleDateFormat dateformat = new SimpleDateFormat("hh:mm:ss SSS");
String s = dateformat.format(new Date());
tb.timer.setText(s);// 将标签内容设置为可格式化文本
try {
sleep(100);// 休眠1秒钟时间
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
这是我们上课的一个例子。
楼主可以参考下。