Java多线程实现-Thread类
Thread类是一个支持多线程的功能类,可以通过继承它来创建一个支持多线程执行的子类。
对于一个Java程序来讲,程序执行的起点是main方法,Thread类的子类有些不同,它的起点是run方法,多线程的每个主体类之中都必须覆盖Thread类中所提供的run方法,覆盖重写run方法后,我们可以使用start方法来启动线程,一个具体的代码例子如下:
class MyThread extends Thread{private String name;public MyThread(String name){this.name=name;}@Overridepublic void run(){for(int i=0;i<200;i++){System.out.println(this.name+"--->"+i);}}
}public class test{public static void main(String[] args) {MyThread thread1=new MyThread("test1");MyThread thread2=new MyThread("test2");MyThread thread3=new MyThread("test3");thread1.start();;thread2.start();thread3.start();}
}
截取一部分输出如下所示:
可以看到多个线程轮流抢占资源,并发执行。
Java多线程实现-Thread类相关推荐
- java多线程(一)-Thread类和Runnable接口
public class Thread extends Object implements Runnable Thread通过实现Runnable实现多态关系. Java中实现多线程,最基本2种方式: ...
- Java多线程-继承Thread类,示例
继承Thread类,调用start方法启动线程. 示例, public class ThreadTest extends Thread {public ThreadTest(String name){ ...
- Java中使用Thread类
Java的特点之一就是内置对多线程的支持. 每个Java程序都有一个默认的主线程main.如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用CP ...
- Java多线程,Thread,Runnable,Callable Task,Future<Task>,CompletionService
一.Java多线程的方法 1. 继承 Thread 2. 实现 Runnable 3. 实现 Callable 可以有返回值 package com.test;import java.util.Arr ...
- Java并发编程—Thread类的start()方法是如何启动一个线程的?
目录 一:Java线程介绍 二:Java线程入口分析 三:Java线程的创建 四:总结 周末抽了点时间,研究了下HotSpot是如何创建Java线程的,顺便总结一下.文中引用的源码里删除很多细节,只保 ...
- Java中继承thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中, ...
- Java并发之Thread类的使用
一.线程的几种状态 线程从创建到最终的消亡,要经历若干个状态.一般来说,线程包括以下这几个状态:创建(new).就绪(runnable).运行(running).阻塞(blocked).time wa ...
- Java中的Thread类
目录 一.什么是Thread类 二.Thread类的基本用法 三.线程的并发执行 一.什么是Thread类 在java标准库中,提供了一个Thread类,用来表示/操作线程,Thread类可以视为是J ...
- Java多线程(Thread)
/*并发:两个或多个事件在同一时间段内交替执行并行:两个或多个事件同时执行在计算机中,程序存储在硬盘中(ROM),但所有的应用程序都需要进入到内存(RAM)中执行.进程:进入到内存的程序线程:点击程序 ...
- C++多线程:thread类创建线程的多种方式
文章目录 描述 函数成员简介 总结 描述 头文件 <thread> 声明方式:std::thread <obj> 简介 线程在构造关联的线程对象时立即开始执行,从提供给作为构造 ...
最新文章
- nmake构建Geos库
- java报错 日志_java 日志报错
- 从事python需要掌握哪些知识和技能_零基础想转行从事Python?需要掌握如下技能...
- 都在说云原生,它的技术图谱你真的了解吗?
- 【转载】修改host不重启浏览器的方法
- 孙宇晨终于和巴菲特共进晚餐 还赠送数字币作为见面礼
- Delphi LiveBinds组件
- pad点餐系统 内存管理的一点总结
- linux可执行文件bad interpreter解决方法
- pdf图片怎么转换成word文档?
- r230服务器装系统教程,DELL r230 安装centos7.4记录
- 平价的蓝牙耳机哪家质量好?学生党公认的五款高品质蓝牙耳机
- 缓存篇(二)- JetCache
- Android百度地图(四):百度地图运动轨迹纠偏、去噪、绑路之百度鹰眼
- 求2!+4!+6!+ …… +2n!的和
- 10 项目沟通和干系人管理
- php pthread nts,PHP的线程库:pthreads
- Python库之Scipy库的简介、安装详细
- nexus3安装配置
- 炫酷的android ui,25个Android酷炫开源UI框架
热门文章
- MFC获取当前应用程序实例句柄的三种方法
- oracle中外键的使用方法,Oracle数据库中外键的相关操作整理
- Glide 4.x添加自定义组件原理
- Flink 大规模作业调度性能优化
- IT 人的国庆大阅兵,太好好好好好好看了吧 ……
- FFmpeg总结(五)AV系列结构体之AVCodec、AVCodecParameters、AVCodecParser、AVCodecParserContext、AVCodecDescriptor
- 大学生使用计算机的情况英语作文,关于网络的大学生英语作文(精选10篇)
- mysql死锁抛出异常_如何排查和处理 MySQL 死锁异常?详细分析及解决方法步骤
- RSA、DSA算法原理与举例
- IDEA 不识别的MAVEN 项目应如何处理