黑马程序员——java基础之多线程基本概念

------- android培训java培训、期待与您交流! ----------

1 基本概念

线程:就是进程中的一个控制单元,线程在控制着进程的执行。

进程:是一个正在执行的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行顺序,或者叫一个控制单元。

一个进程中至少有一个线程。

该进程中至少一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中,该线程为主线程。Jvm启动不止一个线程,还有负责垃圾回收机制的线程。

2 进程创建和使用

创建新执行线程有两种方法:

a 将类声明为Thread 子类,该子类应重写Tread类的run()方法。

   1)定义类继承Tread

   2)复写类中的run方法,        目的:将自定义代码存储在run方法中,让线程运行。

   3)调用线程的start方法
        该方法有两个作用:启动线程;调用run方法。

代码如下:class Demo extends Tread {
  public void run()
  {
  System.out.println(“Demo Run”);
  }
}
  Class TreadDemo{
  Public static void main(String []args){

  Demo  d = new  Demo();
  D.start();//开启线程,并执行该线程的run方法
  D.run();//仅仅是对象调用方法。这时线程创建了,但并未运行。整个是由主线            //  程按顺序执行main方法中的代码
 }
}
创建线程的第二种方法:实现Runnable接口

步骤如下:定义类实现Ruunable接口;覆盖Runnable接口中的run方法;   将线程要运行的代码存储在该方法中;通过Tread 类创建线程对象,将Runnable接口的子类对象,

为实际参数传递给Tread类的构造函数

自定义的run方法所属的对象是Runnable接口的子类对象,要让线程去执行指定对象的run方法时,就必须明确该方法所属对象。

调用Tread类的start方法开启线程并调用Runnable接口子类的run方法

实现方式和继承方式的区别:继承Tread类:线程代码存放在Tread子类的run方法中;实现Runnable接口:线程代码存放在接口的子类run方法中

实现方式的好处:避免了单继承的局限性。在定义线程时,建议使用实现方式。

Tread 都有自己默认的名称,Tread--编号,且编号从0开始。
设置线程名称setName()
练习题:
 class  Test extends Tread{
Test (String name)
{
super(name);
}
Public void run()
{
For(int i =0;i<40;i++)//循环四十次
{
System.out.println(Tread.currentTread().getName()==this+“...”+this.getName()+”run...”);
}
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值