Thread及Runnable的使用方式简介

来源:互联网 发布:东华大学数据库试卷 编辑:程序博客网 时间:2024/06/06 02:10

    Java里面的主线程是main函数,android里面的主线程(UI线程)是ActivityThread,Activity是运行在主线程里面的,google为了保障用户体验,规定主线程(UI界面)5s没响应就报错—ANR异常(Application not Responding),所以较为耗时的操作一般需要开启子线程完成,即Thread,Android中创建子线程有两种方法。


    一是继承Thread类

    

public class SyncThread extends Thread {        @Override      public void run() {          synchronized (this) {              for (int i = 0; i < 5; i++) {                  System.out.println(Thread.currentThread().getName()                          + "   synchronizedloop " + i);              }            }        }    }

    实现

SyncThread st1 = new SyncThread();  SyncThread st2 = new SyncThread();  st1.start();  st2.start();

    二是实现Runnable接口

public class SyncRunnable implements Runnable {        @Override      public void run() {          synchronized (this) {              for (int i = 0; i < 5; i++) {                  System.out.println(Thread.currentThread().getName()                          + "   synchronizedloop " + i);                }    }

    实现

SyncRunnable sr1 = new SyncRunnable();  SyncRunnable sr2 = new SyncRunnable();  sr1.start()sr2.start()

    一般为了方便而言,用Runnable的匿名内部类实现

Thread th=new Thread(new Runnable(){@Overridepublic void run() {System.out.println("Thread is running.");  }});th.start();

0 0
原创粉丝点击