A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 看海的管家 中级黑马   /  2015-10-8 09:17  /  217 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

实现多线程的两种方法?

2 个回复

倒序浏览
安卓中,实现多线程有两种方法,一种是扩展Thread类,一种是实现Runnable接口(一般常用Runnable接口).然后通过Handler机制与主线程通信
第一种,thread类
可以通过继承thread类,复写run()方法,或者直接扩展,也就把run()方法写到线程里
1:
package org.thread.demo;
class MyThread extends Thread{
private String name;
public MyThread(String name) {
super();
this.name = name;
}
public void run(){
for(int i=0;i<10;i++){
System.out.println("线程开始:"+this.name+",i="+i);
}
}
}

package org.thread.demo;
public class ThreadDemo01 {
public static void main(String[] args) {
MyThread mt1=new MyThread("线程a");
MyThread mt2=new MyThread("线程b");
mt1.run();
mt2.run();
}
}
2:
Thread thread=new Thread(new Runnable()  
        {  
            @Override  
            public void run()  
            {  
                Log.e("1111", "111111111");  
                // TODO Auto-generated method stub  
            }  
        });  
        thread.start();  
    }
第二种方法,Runnable接口
class MyThread implements Runnable{
private String name;
public MyThread(String name) {
this.name = name;
}
public void run(){
for(int i=0;i<100;i++){
System.out.println("线程开始:"+this.name+",i="+i);
}
}
}



需要注意的是,Thread类是Runnable的子类,同时两者有一定区别,开发中一般优先使用Runnable
回复 使用道具 举报
Java对多线程的支持是非常强大的,他屏蔽掉了许多的技术细节,让我们可以轻松的开发多线程的应用程序。
  Java里面实现多线程,有2个方法
1 继承 Thread类
  class MyThread extends Thread {
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new MyThread().start();
  }
  }
2 实现 Runnable接口
  class MyThread implements Runnable{
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new Thread(new MyThread()).start();
  }
  }
  一般鼓励使用第二种方法,因为Java里面只允许单一继承,但允许实现多个接口。第二个方法更加灵活。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马