0
点赞
收藏
分享

微信扫一扫

安卓开发入门_DAY7

佛贝鲁先生 2022-03-11 阅读 55

07


Service(服务)

一.线程的相关概念

二.线程的生命周期在这里插入图片描述

三.创建线程的方法

  1. 继承Thread类
public class MyThread extends Thread{
    @Override
    public void run() {
        // TODO Auto-generated method stub
        //super.run();
        doSomething();
    }
    private void doSomething() {
        // TODO Auto-generated method stub
        System.out.println("我是一个线程中的方法");
    }
}
===================================================================
===============
public class NewThread {
    public static void main(String[] args) {
    MyThread myThread=new MyThread();
    myThread.start();//开启一个线程方法
        //以下的方法可与上边的线程并发执行
        doSomething();
    }
    private static void doSomething() {
        // TODO Auto-generated method stub
    }
}

  1. 实现Runnable接口
public class RunnableThread implements Runnable{
    @Override
    public void run() {
        // TODO Auto-generated method stub
        doSomeThing();
    }
    private void doSomeThing() {
    // TODO Auto-generated method stub
    System.out.println("我是一个线程方法");
    }
}
===================================================================
===============
public class NewThread {
    public static void main(String[] args) {
        Runnable runnable=new RunnableThread();
        Thread thread=new Thread(runnable);
        thread.start();//开启一个线程方法
        //以下的方法可与上边的线程并发执行
        doSomething();
    }
    private static void doSomething() {
        // TODO Auto-generated method stub
    }
}
  1. 实现Callable接口和Future创建线程
public class CallableThread implements Callable<String>{
    @Override
    public String call() throws Exception {
        // TODO Auto-generated method stub
        doSomeThing();
        return "需要返回的值";
    }
    private void doSomeThing() {
        // TODO Auto-generated method stub
        System.out.println("我是线程中的方法");
    }
}
===================================================================
===============
public class NewThread {
    public static void main(String[] args) {
        Callable<String> callable=new CallableThread();
        FutureTask<String> futureTask=new FutureTask<String>
(callable);
        Thread thread=new Thread(futureTask);
        thread.start();//开启一个线程方法
        //以下的方法可与上边的线程并发执行
        doSomething();
        try {
            futureTask.get();//获取线程返回值
        } catch (InterruptedException | ExecutionException e) {
        // TODO Auto-generated catch block
            e.printStackTrace();
            }
        }
    private static void doSomething() {
        // TODO Auto-generated method stub
    }
}

  1. Service与Thread线程的区别

四.Service的生命周期

在这里插入图片描述

五.Service启动方式

  • StartService启动Service
  • BindService启动Servic
  • StartService启动Service后bindService绑定
举报

相关推荐

0 条评论