利用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小程序。在屏幕上显示时间,每隔一秒钟刷新一次。为使小程序不的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程学习篇

实现Runnable接口创建多线程及其优势

多线程之实现Runnable接口及其优点

JAVA多线程继承Thread 与实现Runnable接口的相关疑问

多线程——Runnable接口

JAVA多线程用实现Runnable接口的方式创建线程