知识大全 Java多线程编程三步曲[1]

Posted

篇首语:生当作人杰,死亦为鬼雄。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多线程编程三步曲[1]相关的知识,希望对你有一定的参考价值。

Java多线程编程三步曲[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    Java平台从开始就被设计成为多线程环境 在你的主程序执行的时候 其它作业如碎片收集和事件处理则是在后台进行的         本质上 你可以认为这些作业是线程 它们正好是系统管理线程 但是无论如何 它们是线程 线程使你能够定义相互独立的作业 彼此之间互不干扰 系统将交换这些作业进或出CPU 这样(从外部看来)它们好象是同时运行的         在你需要在你的程序中处理多个作业时 你也可以使用多个进程 这些进程可以是你自己创建的 你也可以操纵系统线程 你进行这些多作业处理 要使用几个不同的类或接口         java util Timer类    javax swing Timer类    Thread类    Runnable接口        对于简单的作业 通常需要重复的 你可以使用java util Timer类告诉它 每半秒钟做一次 注意 大多数系统例程是使用毫秒的 半秒钟是 毫秒         你希望Timer实现的任务是在java util TimerTask实例中定义的 其中运行的方法包含要执行的任务 这些在Hi类中进行了演示 其中字符串 Hi 重复地被显示在屏幕上 直到你按Enter键         import java util *;        public class Hi              public static void main(String args[]) throws java io IOException                            TimerTask task = new TimerTask()                    public void run()                            System out println( Hi );                  ;    Timer timer = new Timer();    timer schedule(task );    System out println( Press ENTER to stop );    System in read(new byte[ ]);    timer cancel();            Java Runtime Environment工作的方式是只要有一个线程在运行 程序就不退出 这样 当取消被调用 没有其它线程在运行了 则程序退出 有一些系统线程在运行 如碎片收集程序 这些系统线程也被称为后台线程 后台线程的存在不影响运行环境被关闭 只有非后台线程保证运行环境不被关闭         Javax swing Timer类与java util timer类的工作方式相似 但是有一些差别需要注意 第一 运行的作业被ActionListener接口的实现来定义 第二 作业的执行是在事件处理线程内部进行的 而不象java util Timer类是在它的外部 这是很重要的 因为它关系到Swing组件集是如何设计的         如果你不熟悉Swing 它是一组可以被Java程序使用的图形组件 Swing被设计程被称为单线程的 这意味着对Swing类内部内容的访问必须在单个线程中完成 这个特定的线程是事件处理线程         这样 例如你想改变Label组件的文字 你不能仅仅调用Jlabel的setText方法 相反 你必须确认setText调用发生在事件处理线程中 而这正是javax swing Time类派的上用场的地方         为了说明这第二种情况 下面的程序显示一个增加的计数器的值 每半秒钟计数器的数值增加 并且新的数值被显示:        import javax swing *;    import java awt *;    import java awt event *;        public class Count                    public static void            main(String args[])            JFrame frame = new JFrame();    frame setDefaultCloseOperation    (JFrame EXIT_ON_CLOSE);    Container contentPane =    frame getContentPane();    final JLabel label =    new JLabel( JLabel CENTER);    label setFont(new Font ( Serif Font PLAIN ));    contentPane add(label     BorderLayout CENTER);    ActionListener listener = new ActionListener()                    int count = ;            public void actionPerformed            (ActionEvent e)            count++;    label setText    (Integer toString(count));    Timer timer = new Timer( listener);    timer start();    frame setSize( );    frame show();    上述程序的结果是

cha138/Article/program/Java/gj/201311/27684

相关参考

知识大全 超线程多核心下Java多线程编程技术分析[1]

超线程多核心下Java多线程编程技术分析[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 在Java平台上进行多线程编程的缺陷[1]

在Java平台上进行多线程编程的缺陷[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Java多线程编程基础之线程和多线程

Java多线程编程基础之线程和多线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着计算机技

知识大全 超线程多核心下Java多线程编程分析

超线程多核心下Java多线程编程分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一Java环

知识大全 Java多线程编程基础之线程对象

Java多线程编程基础之线程对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 超线程多核心下Java多线程编程技术分析[4]

超线程多核心下Java多线程编程技术分析[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 超线程多核心下Java多线程编程技术分析[3]

超线程多核心下Java多线程编程技术分析[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 超线程多核心下Java多线程编程技术分析[2]

超线程多核心下Java多线程编程技术分析[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 Java多线程编程

Java多线程编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者natrium    一理

知识大全 Java 5.0多线程编程

Java5.0多线程编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java自年面世以来得到