知识大全 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] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
在Java平台上进行多线程编程的缺陷[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
Java多线程编程基础之线程和多线程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随着计算机技
超线程多核心下Java多线程编程分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一Java环
Java多线程编程基础之线程对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
超线程多核心下Java多线程编程技术分析[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
超线程多核心下Java多线程编程技术分析[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
超线程多核心下Java多线程编程技术分析[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
Java多线程编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者natrium 一理
Java5.0多线程编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java自年面世以来得到