Java使用Thread创建多线程并启动操作示例
本文实例讲述了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程序设计有所帮助。
相关文章
详解Spring boot使用Redis集群替换mybatis二级缓存
本篇文章主要介绍了详解Spring boot使用Redis集群替换mybatis二级缓存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05
java数学类Math BigInteger BigDecimal使用介绍
这篇文章主要为大家介绍了java数学类Math、BigInteger、BigDecimal的使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06
Idea如何导入一个SpringBoot项目的方法(图文教程)
这篇文章主要介绍了Idea如何导入一个SpringBoot项目的方法(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
Java实现PDF转HTML/Word/Excel/PPT/PNG的示例代码
这篇文章主要为大家介绍了如何利用Java语言是PDF转HTML、Word、Excel、PPT和PNG功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下2022-05-05


最新评论