美文网首页
线程与进程

线程与进程

作者: zhi5ai | 来源:发表于2017-09-27 15:33 被阅读3次

每个应用都是一个进程。(不太严谨,大概大概)

进程通信:

四大组件:Activity,Service,Content Provider,Broadcast Receiver

Activity

使用intent,start一个Activity,而这个Activity可能在另一个进程中。这个时候,再用上startActivityForResult 和 onActivityResult。就完成了当前进程和另一个进程的通信。

Service

一般service也就是本地Service。相应的还有远程Service,(remote service)。

本地Service和应用同在一个进程里,并且是主线程的?

远程Service则运行在一个独立的进程中。

AIDL , Android Interface Definition Language。跨进程,进程A得知进程B的接口(即方法),才可以调用,传递参数,获取返回值。

Content Provider

当需要对外提供数据,其它应用都可以获取到。而Content Provider也是对Sqlite的另一种封装而已,同时,它提供了另一种访问数据的方式。

在不同应用中共享数据,即完成进程通信。

Broadcast Receiver

应用A发送一个广播,其它应用在注册监听这个广播之后,就可以接受到这个广播。

Bound Service

从创建 Bound Service 开始。一般咱们使用 bindService 来获取一个 iBinder 对象,然后通过 iBinder 对象来与 Service 进行通信。

Binder

在Service里的onBind()方法中,返回一个Binder对象,在其他组件中通过bindService()来获取这个Binder对象,就可以和Service进行交互了。

这个不算跨进程。


进程中可以有多个线程。

应用中的多线程操作:

1. Handler机制

2. AsycTask-即对Handler,MessageQueue, Message, Looper的封装。更便已使用。

3. RxJava-响应式编程。利用观察者模式,完成多线程通信问题。Scheduler相当简洁的解决了线程切换的问题。

相关文章

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Java 线程相关

    目录1.并行与并发2.进程与线程---- 2.1 进程---- 2.2 线程---- 2.3 进程与线程的区别--...

  • 并发编程之进程与线程

    并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与...

  • 进程与线程、线程池

    进程与线程的相关总结进程与线程的简单解释进程: 基本的资源分配资源线程: 最小调度单元 线程安全 线程安全是多线程...

  • 详解iOS面试:进程与线程

    进程与线程 进程 = 资源管理 + 线程, 进程是资源分配单位,线程是 CPU 调度单位 以前没有线程的时候,进程...

  • Python多线程与多进程

    内容简述: 线程与进程的相关概念1、程序,进程,线程,多进程,多线程2、线程的生命周期3、并行与并发,同步与异步4...

  • OpenMP笔记

    进程与线程 进程:进程是正在运行的程序实例线程:线程是进程中实际运作单位,一个进程可以并行多个线程 进程包含如下程...

  • java面试3

    1. 进程与线程的区别? 进程和线程的关系: 进程与线程的区别: 2.struts2和springMVC的区别? ...

  • 22.iOS底层学习之多线程原理

    本篇提纲:1、线程与进程2、多线程3、多线程相关面试题4、线程安全问题5、线程与runloop的关系 线程与进程 ...

  • GO学习笔记(18) - 并发编程(1) - 理解gorouti

    目录 进程、线程与协程 并发模模型介绍 GO并发编程介绍 进程、线程与协程 进程和线程 进程是程序在操作系统中的一...

网友评论

      本文标题:线程与进程

      本文链接:https://www.haomeiwen.com/subject/gkeuextx.html