黑马程序员——Java基础——多线程
来源:互联网 发布:林湖景苑网络 编辑:程序博客网 时间:2024/06/14 00:52
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
我们知道,进程就是一个正在执行中的程序,而线程就是一个进程中的多个执行路径。线程通过抢CPU来运行。
线程的定义方式有两种:
第一种是通过继承Thread类。
1、创建一个类继承Thread类;
2、重写 run 方法;
3、调用 start 方法开启线程。
public class ThreadTest { public static void main(String[] args){ a aa=new a(); aa.start(); b bb=new b("keey"); bb.start(); }}class a extends Thread{ public void run(){ for(int i=0;i<200;i++){ System.out.println(Thread.currentThread().getName()+" "+i); } } a(){ super("mile"); //调用 Thread 类的构造方法为线程自定义名称 }}class b extends Thread{ public void run(){ for(int i=0;i<200;i++){ System.out.println(this.getName()+i+"----"); } } b(String name){ super(name); }}
第二种是通过实现Runnable接口。
1、创建一个类实现Runnable接口;
2、重写 run 方法;
3、通过 Thread 类建立线程对象;
4、将接口子类对象作为实际参数传给 Thread 类构造函数;
5、Thread 类的 start 方法开启,并调用接口 run方法。
public class ThreadTest2 { public static void main(String[] args){ c cc=new c(); new Thread(cc).start(); d dd=new d(); new Thread(dd).start(); }}class c implements Runnable{ public void run(){ for(int i=0;i<100;i++){ System.out.println(111111); } }}class d implements Runnable{ public void run(){ for(int i=0;i<100;i++){ System.out.println("AAA"); } }}
两方法的区别:
实现方式的好处:避免了单继承的局限性。
定义线程时,一般建议使用实现方式。
继承Thread:线程代码存放 Thread 子类 run 方法中。
实现 Runnable:代码存放接口子类 run 方法中。
0 0
- 黑马程序员——Java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——java基础---多线程
- 黑马程序员——Java基础多线程
- 黑马程序员——Java基础->多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——java基础--多线程
- 黑马程序员——java基础--多线程
- 黑马程序员——Java基础--- 多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——Java基础---多线程
- 黑马程序员——java基础-多线程
- 黑马程序员——Java基础:多线程
- 用OxyPlot在WPF中演示正演磁异常的变化规律
- phpstorm webstorm 分支 和上传分支
- Python random模块
- dilworth解决的题目poj3636,poj1631
- Java通过Ldap操作AD的增删改查询
- 黑马程序员——Java基础——多线程
- CSV文件是什么?
- mysql学习笔记_函数
- 让idea中的java显示成员
- Ubuntu下安装配置和卸载Maven
- linux下出现architecture of input file `*.o' is incompatible with i386:x86-64 output的解决方法
- A20_wifi配置
- Xcode6中怎么创建PCH文件
- Android-async-http回调逻辑的二次封装