利用Runnable 接口实现多线程,编写一个Java小程序。在屏幕上显示时间,每隔一秒钟刷新一次。为使小程序不
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Runnable 接口实现多线程,编写一个Java小程序。在屏幕上显示时间,每隔一秒钟刷新一次。为使小程序不相关的知识,希望对你有一定的参考价值。
利用Runnable 接口实现多线程,编写一个Java小程序。在屏幕上显示时间,每隔一秒钟刷新一次。为使小程序不影响其他程序的运行,使用多线程。
参考技术A //jdk 7X,eclipse 3.7X测试通过import java.awt.Graphics;
import java.util.Date;
import javax.swing.JFrame;
public class Clock extends JFrame implements Runnable
//窗口大小
final int WIDTH=300;
final int HEIGHT=300;
//用来获取当前时间
Date now;
Clock()
//装配桌面
setLocation(300,300);
setSize(WIDTH,HEIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
now=new Date();
public void paint(Graphics g)
//清屏
g.clearRect(0, 0, WIDTH, HEIGHT);
//写时间
g.drawString(now.toString(), 50, 50);
public void run()
while(true)
try
Thread.sleep(100);
catch (InterruptedException e)
now=new Date();
repaint();//重绘
public static void main(String[] args)
(new Clock()).run();
本回答被提问者和网友采纳 参考技术B 线程类
package com.thread;
import java.util.Date;
public class TimeThread implements Runnable
public void run()
while(true)
try
System.out.println("现在时刻:"+new Date(System.currentTimeMillis()));
Thread.sleep(1000);
catch (InterruptedException e)
// TODO Auto-generated catch block
e.printStackTrace();
测试
package com.thread;
public class TestMail
/**
* @param args
*/
public static void main(String[] args)
// TODO Auto-generated method stub
new TimeThread().run();
追问
虽然我不是很懂JAVA 可是为什么 有2个公共类呢?
追答TestMail 这个只是我测试的。
把
public static void main(String[] args)
// TODO Auto-generated method stub
new TimeThread().run();
写TimeThread 这个里面也行啊。 TimeThread 这个是线程的实现类,调用随便哪里都行的
package com.thread
这个在MyEclipse 里运行的时候提示
声明的包“com.thread”与期望的包“”不匹配
把类复制过去,包名改成你的包名呗
追问改过 之后 程序上没提示出错 但运行的时候就出了个提示框Could not find the main class Program will exit
参考技术C 接口实现多线程,编写一个Java小程序。在屏幕上显示时间,每隔一秒钟刷新一次import javax.swing.JLabel; import java.util.Date; public class Time追问完整的代码啊。。。
参考技术D fd鐧惧害鍦板浘本数据来源于百度地图,最终结果以百度地图最新数据为准。
追问答非所问
第5个回答 2011-09-27 原来是要代码多线程——Runnable接口
以实现Runable接口的方式创建线程比继承Thread类有很大的优越性,因为类不能多重继承,即一个类只能继承一个类,那么如果该类已经继承了一个类,就不能实现多线程了,但是可以通过实现Runable接口的方式实现多线程。
1、Runnable实现多线程
package pers.zhb.runnable; public class MyThread implements Runnable public void run() for (int i = 0; i < 20; i++) System.out.println(Thread.currentThread().getName()+":正在执行!"+i);
package pers.zhb.runnable; public class RunnableDemo public static void main(String[] args) MyThread mt=new MyThread(); Thread t2=new Thread(mt);//Thread类本质上也是实现了Runnable接口,但是Run方法是空的 t2.start(); for (int i = 0; i < 20; i++) System.out.println("主函数线程!"+i); System.out.println("主函数执行结束了");
2、join()方法的使用
主线程在子线程运行结束后才开始运行。
package pers.zhb.runnable; public class MyThread implements Runnable public void run() for (int i = 0; i < 20; i++) System.out.println(Thread.currentThread().getName()+":正在执行!"+i);
package pers.zhb.runnable; public class RunnableDemo public static void main(String[] args) throws InterruptedException MyThread mt = new MyThread(); Thread t1 = new Thread(mt); t1.start(); t1.join(); for (int i = 0; i < 20; i++) System.out.println("主函数线程!" + i); System.out.println("主函数执行结束了");
以上是关于利用Runnable 接口实现多线程,编写一个Java小程序。在屏幕上显示时间,每隔一秒钟刷新一次。为使小程序不的主要内容,如果未能解决你的问题,请参考以下文章