本文实例讲述了Java使用Thread创建多线程并启动操作。分享给大家供大家参考,具体如下:
按照教程实现了一个单线程的创建,但是单线程的创建于启动并不是很有实用价值的。毕竟直接在main方法中放着相关的执行操作本身也就是一种单线程的实现。接下来在之前用过的代码基础上稍作修改,形成如下代码:
class ThreadDemo extends Thread { ThreadDemo(){}; ThreadDemo(String szName) { super(szName); } public void run() { int i = 0; for(i = 0;i < 10;i++) { System.out.println("run" + (i + 1) + " times"); } } public static void main(String[] args) { ThreadDemo demo1 = new ThreadDemo(); ThreadDemo demo2 = new ThreadDemo(); ThreadDemo demo3 = new ThreadDemo(); demo1.start(); demo2.start(); demo3.start(); } }
代码编译运行结果如下;
E:\WorkSpace\02_技术实践\01_编程语言\05_Java\02_Java从入门到精通\thread_demo>javac ThreadDemo.java
E:\WorkSpace\02_技术实践\01_编程语言\05_Java\02_Java从入门到精通\thread_demo>java ThreadDemo
run 1 times
run 2 times
run 3 times
run 4 times
run 5 times
run 6 times
run 7 times
run 1 times
run 2 times
run 1 times
run 3 times
run 8 times
run 4 times
run 2 times
run 5 times
run 9 times
run 6 times
run 7 times
run 8 times
run 3 times
run 9 times
run 10 times
run 10 times
run 4 times
run 5 times
run 6 times
run 7 times
run 8 times
run 9 times
run 10 times
从上面的结果中实际上看到了一定的乱序,看起来三个任务的执行顺序不是按顺序来的。其实,这正是创建出来的三个线程出现了执行上的竞争而造成的结果。
之前我写程序的时候确实是感觉傻了一点,虽说这么久以来也好歹完成了任务,但是我之前所实现的都是单线程的工作。一个任务从头到尾一路执行下来,好在现在的电脑的执行速度都还不坏,否则我这中间可得出现多少执行时间上的浪费啊!
虽说现在是在学Java,后期的Python等支持多线程的语言中尽量也该把这个功能利用起来。尽可能的挖掘一下CPU的潜力还是一件很有意思的事情的。
更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
本文向大家介绍Java继承Thread类创建线程类示例,包括了Java继承Thread类创建线程类示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java继承Thread类创建线程类。分享给大家供大家参考,具体如下: 一 点睛 通过继承Thread类创建线程并启动多线程的步骤: 1 定义Thread的子类,并重写该类的run()方法,该run()方法的方法体代表了线程需要完成的任务。因
本文向大家介绍Python使用type动态创建类操作示例,包括了Python使用type动态创建类操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用type动态创建类操作。分享给大家供大家参考,具体如下: 使用type动态创建类 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 下面看一个例子: 运行结果: say hello
Core Java提供对多线程程序的完全控制。 您可以开发一个多线程程序,可以根据您的要求完全暂停,恢复或停止。 您可以在线程对象上使用各种静态方法来控制它们的行为。 下表列出了这些方法 - Sr.No. 方法和描述 1 public void suspend() 此方法将线程置于挂起状态,并可以使用resume()方法恢复。 2 public void stop() 此方法完全停止线程。 3 p
本文向大家介绍c# Thread类线程常用操作详解,包括了c# Thread类线程常用操作详解的使用技巧和注意事项,需要的朋友参考一下 创建线程 线程是通过扩展 Thread 类创建的。扩展的 Thread 类调用 Start() 方法来开始子线程的执行。 下面的程序演示了这个概念: 当上面的代码被编译和执行时,它会产生下列结果: 管理线程 Thread 类提供了各种管理线程的方法。 下面的实例演
本文向大家介绍java 线程创建多线程详解,包括了java 线程创建多线程详解的使用技巧和注意事项,需要的朋友参考一下 Java 线程类也是一个 object 类,它的实例都继承自 java.lang.Thread 或其子类。 可以用如下方式用 java 中创建一个线程,执行该线程可以调用该线程的 start()方法: Tread thread = new Thread(); thread.sta
本文向大家介绍Java中断一个线程操作示例,包括了Java中断一个线程操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java中断一个线程操作。分享给大家供大家参考,具体如下: 一 点睛 中断一个线程,意味着该线程在完成任务之前,停止它正在进行的一切当前的操作。 有三个比较常用的函数: interrupt():一个正在运行的A线程,可以调用B线程对应的interrupt方法来中断线
本文向大家介绍Java Thread多线程详解及用法解析,包括了Java Thread多线程详解及用法解析的使用技巧和注意事项,需要的朋友参考一下 最全面的java多线程用法解析,如果你对Java的多线程机制并没有深入的研究,那么本文可以帮助你更透彻地理解Java多线程的原理以及使用方法。 1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Run
摘要 本文用来指导用户按照标准方式创建和管理 RT-Thread 工程。 简介 RT-Thread 完全开源开放,支持几十款 BSP,支持多种编译器,支持众多基础组件以及数量持续增长的软件包,然而对于工程项目开发来说,只需要支持一款或者有限几款 MCU,使用一种熟悉的 IDE 开发环境,使用有限的外设和组件,本文档旨在指导用户在全功能 RT-Thread 版本基础上,根据项目需求搭建 RT-Thr