黑马程序员——Java---线程

来源:互联网 发布:e领网络卡盟 编辑:程序博客网 时间:2024/06/08 00:10
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
/*
多线程
Thread类:
创建一个类通过继承Thread类覆盖其run方法,新建该类对象调用start方法运行线程,每一个线程都是一条执行路径,


覆盖run方法的作用就是可以将线程自定义代码存储在run方法中并执行


而手动运行run方法只是简单的再当前执行路径中运行一个方法


每个Thread线程都有一个默认的名称,名称是以Thread+数字0开始的名称,也可以通过该类对象的getName方法取得
*/
class MyThread extends Thread
{
public void run()
{
System.out.println("thread");
}
}


class dome
{
public static void main(String[] args)
{
MyThread mt = new MyThread();
mt.start();
Thread.currentThread().stop();//Thread.currentThread();获取当前线程对象并调用stop停止线程的方法,
//因此停止的是主函数线程,所以下面的一句控制台输出语句并未执行整个程序就结束了
  System.out.println("该线程的名称是:"+mt.getName());
}
}




/*
Runable接口
        Thread类的构造函数还可以接受一个 实现Runnable接口类的对象,并且返回这个对象的事例,通过调用该返回对象的start()方法运行线程
*/
class MyThread implements Runnable
{
public void run()
{
System.out.println("new Thread");
}
}


class demo 
{
public static void main(String[] args)
{
MyThread myt= MyThread();
    Thread th = new Thread(myt);
th.start();
}
}

Thread和Runnable区别


Thread
因为java单继承的原因,其他类的子类不能再继承Thread类创建线程,


也就是说能够通过Thread关键字创建的线程必须是Thread的子类,有局限性


class MyThread extends Thread
{
public void run()
{
//线程代码
}
}


Thread th = new MyThread();
th.start(); //执行线程




Runnable
        而Runnable是一个接口,java中允许接口的多实现,只要是实现了Runnable的接口都可以创建线程并执行run方法中的代码


一般推荐用此方法创建线程


class MyRunable implement Runnable
{
public void run()
{
//线程代码
}
}


MyRunnable mr = new MyRunnable();
Thread th = new Thread(mr);
th.start();









0 0
原创粉丝点击