知识大全 强大的多线程和倒计时程序
Posted 知
篇首语:忧劳可以兴国,逸豫可以亡身。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 强大的多线程和倒计时程序相关的知识,希望对你有一定的参考价值。
多线程技术是非常实用的技术 特别是碰到有关运行多个任务的程序 就只有多线程才能满足你的要求 在以下程序中我所展示的是一个倒计时程序及利用Callable接口(不是Runnable接口)来返回一个你所要求的值 关于这方面的知识 你要多看一下API文档中的线程池类executor和callable接口 如果读者感兴趣的话以下的代码一定要认真的看 特别是我标了注释的地方 相信读者一定会有收获的 还可以把下面的代码复制下来自己去运行一下看一下结果 如果不懂的地方可以发到我的邮箱 本人很荣幸为您解答 只要我力所能及的事我一定会去帮助您!
package rick_demo;
import java awt *;
import java awt event *;
import java util Calendar;
import ncurrent Callable;
import ncurrent ExecutionException;
import ncurrent ExecutorService;
import ncurrent Executors;
import ncurrent Future;
import java util ArrayList;
import javax swing *;
public class Test extends JFrame
private static final long serialVersionUID = L;
private String[] str=new String[ ];
String bin = new String();
JTextField jf;
JTextArea ja;
JScrollPane jp;
JButton jButton ;
private static short coin= ;
JButton jButton ;
Calendar now;
int hour;
int hourEnd;
int minute;
int minutend;
int second;
int secondend;
int hourend;
int minutePlus;
int secondPlus;
Thread t;
boolean right = true;
public Test()
setSize( );
jf = new JTextField( );
ja = new JTextArea( );
//ja append( hello\\n + world );
jp =new JScrollPane(ja);
jp setHorizontalScrollBarPolicy(JScrollPane HORIZONTAL_SCROLLBAR_ALWAYS);
jp setVerticalScrollBarPolicy(JScrollPane VERTICAL_SCROLLBAR_ALWAYS);
for(int i= ;i< ;i++)
str[i] = new String();
jf setText( 单击按纽进行相应的操作 );
jButton = new JButton( 显示时间剩余时间 );
jButton = new JButton( 暂停 );
Container container = getContentPane();
container setLayout(new FlowLayout());
container add(jf );
container add(jButton );
container add(jButton );
container add(jp);
//获取系统刚开始运行的初始值
now = Calendar getInstance();
hourEnd = now get(Calendar HOUR_OF_DAY) + ;
minutePlus = now get(Calendar MINUTE);
secondPlus = now get(Calendar SECOND);
t = new Thread(new Runnable()
public void run()
while (true)
while (right)
try
Thread sleep( );
jf setText(CalTime());
catch (InterruptedException e)
e printStackTrace();
);
t start();
jButton addActionListener(new ActionListener()
public void actionPerformed(ActionEvent event)
right = true;
);
jButton addActionListener(new ActionListener()
public void actionPerformed(ActionEvent g)
right = false;
);
setVisible(true);
public String CalTime()
now = Calendar getInstance();
hour = now get(Calendar HOUR_OF_DAY);
minute = now get(Calendar MINUTE);
second = now get(Calendar SECOND);
if (hourEnd >= hour)
hourend = hourEnd hour;
secondend = second+secondPlus;
minutend = minute+minutePlus;
return 小时倒计时hour: + hourend + minute: + minutend
+ second: + secondend;
public String[] work() //多线程关键代码
ExecutorService exec= Executors newCachedThreadPool();
ArrayList
for(int i=0;i<10;i++)
results.add(exec.submit(new TaskT(i)));
for(Future
try
bin = fuck.get() ;
str[coin] = bin;
coin++;
catch(InterruptedException e)
System.exit(1);
catch(ExecutionException e)
exec.shutdown();
return str;
public void setStr(String[] alph)
for(int i=0;i
ja.append(alph[i]+"\\n");
public static void main(String args[])
Test sleep = new Test();
sleep.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sleep.setStr(sleep.work());
class TaskT implements Callable
private int id=0;
public TaskT(int id)
this.id=id;
public String call()
return "TaskT "+id;
cha138/Article/program/Java/gj/201311/27534
相关参考
Java程序中的多线程(四) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者NeelVKum
Java程序中的多线程(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者NeelVKum
Java程序中的多线程(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者NeelVKum
.NET下的多线程编程应用程序域 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一应用程序域&n
在实际应用中很多情况需要定时运行程序比如分钟或者小时执行一次程序对此操作java和C#一样可以使用Timer计时器实现即javautilTimer中的Timer类 Timer的定义Timerti
解析Java的多线程机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一进程与应用程序的区别
在语言级支持锁定对象和线程间发信使编写线程安全类变得简单本文使用简单的编程示例来说明开发高效的线程安全类是多么有效而直观 Java编程语言为编写多线程应用程序提供强大的语言支持但是编写有用的没有错
知识大全 Heritrix的多线程ToeThread和ToePool
Heritrix的多线程ToeThread和ToePool 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
多线程是java的一个优势java使得程序员可以很方便的进行多线程程序开发获得更好的性能 关于多线程的概念以及一般的多线程编程比如如何以及为何实现runnable接口为何stop()会被Depr
Java的多线程-实现多线程及线程的同步 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.实现