线程的随机性之实现Thread类
来源:互联网 发布:怎么更改网络节点 编辑:程序博客网 时间:2024/06/06 12:54
1、我们先来看下面程序的运行结果
public class Thread2 {public static void main(String[] args) {myThread m=new myThread();m.start();System.out.println("运行结束");}}class myThread extends Thread {@Overridepublic void run() {// 重新Thread的run方法super.run();System.out.println("MyThread");}}
根据运行的次数不同得出的结果不同:
MyThread运行结束
运行结束MyThread
如果我们对上面的程序多次执行会发现什么问题?我们将代码改成如下内容:
public class Thread2 {public static void main(String[] args) {myThread m=new myThread();while(true){m.start();System.out.println("运行结束");}}}class myThread extends Thread {@Overridepublic void run() {// 重新Thread的run方法super.run();System.out.println("MyThread");}}运行结果:
运行结束MyThreadException in thread "main" java.lang.IllegalThreadStateExceptionat java.lang.Thread.start(Thread.java:705)at com.demo1.vector.Thread2.main(Thread2.java:7)
为什么会出现这样的问题呢?
原因是我们的自定义线程继承了Thread类,同一个Thread类不能调用start()方法,因为线程的生命周期是一个不可循环的过程,当前myThread线程结束了,不能再次start().
阅读全文
0 0
- 线程的随机性之实现Thread类
- Java线程调用的随机性
- 1.1线程的随机性验证
- 继承Thread类的线程实现方法
- Runnable Thread 线程的实现
- java线程之用Thread类创建线程的方法
- thread API:实现线程类
- 线程之继承Thread类
- Thread类之线程中断
- 利用Thread类的join方法实现线程同步
- 线程类Thread的API接口分析系列之interrupt()
- 线程类Thread的API接口分析系列之Condition
- thread与runnable实现线程的区别
- Android 线程 thread的实现方法
- thread的wait\notify实现线程通信
- thread的wait\notify实现线程通信
- 电子抽奖的随机性
- 关于随机性的寓言
- python使用selenium爬取InCites中journal数据
- [后端][php]获取文章正文的第1张图片
- calendarview 日历控件
- 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
- Asp.Net Core-Authorize 特性
- 线程的随机性之实现Thread类
- Spire.Doc 教程:在word文档中创建书签
- 文件上传按钮(适配所有浏览器)
- 第六十篇:commons-beanutils使用介绍
- fragmentTabHost中点击一个fragment中的按钮,跳转到另外一个fragment的解决办法
- hibernate 5 与 mysql 5.7 以上 版本的 坑
- Sklearn包含的常用算法
- 计算机网络笔记整理(一):概述
- Asp.Net Core-Identity 配置