码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2016-03-21 18:17:09      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

 

一、多线程的两种实现方式

  1、继承Thread类,并重写其中的run()方法,run()方法被称为线程体。(由于Java只支持单继承,用这种方法定义的类不能再继承其他类)。使用时生成线程类的实例化对象,并调用其start()方法。

class MyThread extends Thread{
    
        属性...
    方法...
    public void run(){
    }
}    
    MyThread mt1 = new MyThread();
    mt1.start();

  2、实现Runnable接口。实例化该实现类的对象作为线程的目标对象,在初始化一个Thread类或子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体。

class MyThread implements Runnable{    // 继承Thread类,作为线程的实现类
    public void run(){    // 覆写run()方法,作为线程 的操作主体
    }
}

    MyThread mt = new MyThread() ;     
    Thread t = new Thread(mt) ;    
    t.start() ;
    

二、两种方法的比较

  Thread类是Runnable接口的实现类。继承Thread不能实现资源共享,实现Runnable可以。实现接口可以避免单继承的局限性。

三、线程的常用操作方法

  1. 线程名称(getName,setName)

  2. 取得当前线程(currentThread)

  3. 判断线程是否执行完毕(isAlive)

  4. 线程强制运行(join)

  5. 线程的休眠(sleep)

  6. 线程的中断(interrupt)

  7. 守护线程(setDeamon)

  8. 线程的优先级(setPriority,getPriority)

   9. 线程的礼让(yield)

四、线程的同步  

  解决资源共享的同步操作问题,保证多线程的数据安全(临界资源)。实现同步线程主要有两种方式,分别是同步代码块和同步方法。程序中过多的同步会导致死锁。

多线程

标签:

原文地址:http://www.cnblogs.com/An1994/p/5302895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!