多线程实现(Thread类)
来源:互联网 发布:人工智能手抄报资料 编辑:程序博客网 时间:2024/06/07 02:00
一、定义
在同一个时间段上,会有很多进程去抢占资源,但是在某一个时间点上,只有一个进程运行
线程和进程是一样的,都必须轮流抢占资源,所以多线程的执行,应该是多个线程彼此交替执行
线程是在进程的基础上进一步划分结果,即一个进程上可以同时创建多个线程
线程是比进程更快的单元,而且多占的资源也小。那么多线程的应用也就是性能最高的应用
线程的存在离不开进程,进程如果消失后,线程一定会消失,反之如果线程消失了,进程不一定消失
二、如果在java中实现多线程有两种途径:
1、继承Thread类;
2、实现Runnable接口(callable接口);
(一)继承Thread类
Thread类是一个支持多线程的功能类,只要有一个子类它就可以实现多线程的支持
//线程操作主类public class MyThread extends Thread {}
所有程序的起点是main方法,而线程的起点是run()方法,再多线程的每个主体类之中都必须重写 Thread类中的run方法
public void run() {}
这个方法没有返回值,表示线程一旦开始就要一直执行,不能返回内容,如果直接直接调用了run()方法,不能直接启动多线程,多线程启动方法是Thread类中的start()方法,调用此方法执行的方法体是run()方法定义的
public void start() {}
例子
public class MyThread extends Thread { private String name; public MyThread(String name) { this.name = name; } @Override public void run() {//重写run方法,作为线程的主体方法 super.run(); for(int x = 0 ; x < 200 ; x++) { System.out.println(this.name + "-->" + x); } }}
public class TestDemo { public static void main(String[] args) { MyThread mt1 = new MyThread("A线程"); MyThread mt2 = new MyThread("B线程"); MyThread mt3 = new MyThread("C线程"); mt1.start(); mt2.start(); mt3.start(); }}
此时每一个线程对象交替执行 ,一个线程只能启动一次,即调用一次start()方法
0 0
- 多线程实现(Thread类)
- java Thread:利用Thread类实现多线程
- Android开发笔记(四十八)Thread类实现多线程
- Thread- 扩展java.lang.Thread类,实现多线程
- Java通过继承Thread类实现多线程
- 继承Thread类来实现多线程
- 通过继承Thread类实现多线程
- 通过继承Thread类实现多线程
- java 通过继承 Thread 类实现多线程
- 多线程Thread类不同封装实现
- 【多线程】JAVA——Thread类实现
- 多线程-利用thread类和runnable接口实现多线程
- Java多线程—创建Thread类实现多线程
- java 通过Thread实现多线程
- Python:继承Thread实现多线程
- 多线程实现及Java Thread
- java多线程:1、Thread实现
- 多线程Thread类创建多线程
- PAT-B 1023. 组个最小数 (20)
- MPAndroidChart使用二之折线图
- 排序_2.快速排序
- 常用排序算法之归并排序
- HDU1501 Zipper(DFS)
- 多线程实现(Thread类)
- 网络虚拟化之FlowVisor:网络虚拟层(下)
- 全局变量、局部变量、全局静态变量、局部静态变量的区别
- tjut 4941
- yum方式安装MySQL
- MPAndroidChart使用三之柱形图
- POJ2403 Hay Points
- C++语法 :C/C++ 内存布局详解(经典)
- 一周乱弹(jquery select保留第一项,其余清空2,SimpleDateFormat 最全参考例子3,sql in语句4,jQuery 修改按钮样式及禁用按钮5当单选框值改变时获取单选框的值)