进程:
启动一个应用程序并入驻内存, 被操作系统视为一个进程,windows一个进程占用的内存不能大于2G, 一个线程默认分配内存为1m,所以一个进程中大概能存活2000个线程。
线程:
线程是进程的实例, 一个进程通常会产生多个线程用来处理并发操作,比如 B/S 应用,启动server应用程序,浏览器请求服务,server端都可能启动一个线程。
单例:
单例和上面的概念没有关系。 只是保证全局应用也就是一个进程中只能有一个类的实例。但是多线程访问进行写操作时,可能造成线程不安全,这个主要是实例变量造成的。
Android的单线程模型UI:
Android的UI(activity)被设计为单线程模型。而且更改
UI属性只能在UI所在的线程进行,
比如:UI异步通信若用Thread那么更改UI属性需要用Handler来处理。当然也可以直接用Handler异步通信,也可以用<!-- [if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
code
{mso-ansi-font-size:12.0pt;
mso-bidi-font-size:12.0pt;
font-family:宋体;
mso-ascii-font-family:宋体;
mso-fareast-font-family:宋体;
mso-hansi-font-family:宋体;
mso-bidi-font-family:宋体;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
--><!-- [if gte mso 10]>
<mce:style><!--
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
-->
<!-- [endif]-->runOnUiThread()
分享到:
相关推荐
7. **异步处理**:AsyncTask、Handler、Looper、Message以及IntentService的用法,理解线程和进程的区别,知道如何避免UI线程阻塞。 8. **BroadcastReceiver**:广播接收器的概念,如何注册和使用,以及有序广播和...
- Handler机制允许主线程与工作线程之间交换消息,避免UI线程阻塞。 21. **Android事件传递机制** - Android事件传递涉及触摸事件、按键事件等,通过ViewTreeObserver等类处理。 22. **线程间操作List** - 在多...
10. **系统知识**:对于Android系统的工作原理,如进程通信,权限管理,多线程,网络协议等,有一定的理解也是必不可少的。 为了在面试中脱颖而出,除了掌握上述知识点,还要不断实践,提升自己的项目经验和解决...
在Android开发领域,面试是检验开发者技能和经验的重要环节。这份"android面试题"文档很可能会涵盖各种核心技术、设计模式、性能优化以及最新趋势等方面的问题。以下是一些可能出现在面试中的关键知识点,对于准备...
8. **IntentService**:IntentService是一个单线程的Service,自动处理Intent,完成任务后自动停止,适合处理后台异步任务。 9. **Context**:Context是Android应用程序的基础,它提供了访问应用程序组件和系统服务...
- **线程**:进程内的执行单元,共享进程的资源。 - **Golang的协程**:轻量级线程,由Golang调度器管理。 #### 47. Android Service与广播 - **Service**:后台运行的任务,与用户界面分离。 - **广播**:一种...
Android中进程与线程的理解 - **进程**:独立运行的基本单位,具有独立的地址空间。 - **线程**:进程中的执行单元,多个线程可以在同一进程中并发执行。 #### 20. Android中的存储方式及其适用场合 - **文件存储*...
- **Thread和Service的区别**:Thread是执行任务的线程,而Service是Android四大组件之一。 - **线程同步和安全**:使用synchronized关键字或Lock对象保证线程安全。 - **IntentService和Service的区别**:...
5. **操作系统**:进程与线程的区别、内存管理、调度策略、死锁概念和预防、I/O模型(同步/异步,阻塞/非阻塞)等是操作系统面试中的基础内容。 6. **计算机网络**:TCP/IP五层模型或七层模型、HTTP协议、TCP连接...
- 进程与线程:理解进程间通信(IPC)、同步与互斥、死锁,线程的创建与销毁,以及调度策略。 - 内存管理:了解虚拟内存、页表、内存分配与回收,以及缓存机制。 - 文件系统:理解文件的I/O操作,文件的组织形式...
- **ZYGOTE**:Android启动的第一个进程,负责创建应用程序进程。 #### 68. 第三方注册登录 - **OAuth**:授权协议,用于第三方登录。 - **SDK集成**:集成第三方登录SDK。 #### 69. Fragment实现 - **生命周期**...
- **技术栈**:Android开发环境、UI设计等。 ### J2EE #### Structs/Spring - **Struts**:基于MVC模式的Web框架。 - **Spring**:轻量级的控制反转(IoC)和面向切面编程(AOP)容器。 #### IOC及Bean容器 - *...
11. **操作系统原理**:对操作系统的基础知识,如进程、线程、内存管理、I/O模型的理解,能帮助写出更高效、更稳定的程序。 12. **计算机网络**:了解TCP/IP协议、HTTP协议以及网络请求的原理,有助于处理网络相关...