Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:...
分类:
移动开发 时间:
2014-07-17 14:30:13
阅读次数:
232
多线程编程
Linux线程概述
线程模型
线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(Light Weigth Process,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并...
分类:
编程语言 时间:
2014-07-08 19:45:08
阅读次数:
219
什么时候使用多线程:1. 耗时操作使用多线程, 耗时操作放在UI线程中会导致用户的操作无法得到响应.2. 阻塞操作使用多线程, 理由同上.3. 多核CUP的设备使用多线程, 可以有效提高CPU的利用率.4. 并行操作使用多线程.android中的多线程模型主要涉及的类有:Looper, Handle...
分类:
移动开发 时间:
2014-07-05 17:22:42
阅读次数:
341
方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)
刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题
new Thread( new Runnable() {
public void run() {
myView.invalidate();
...
分类:
移动开发 时间:
2014-07-02 08:54:23
阅读次数:
197
UI线程及Android的单线程模型原则 当应用启动,系统会创建一个主线程(main thread)。 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,你的应用和Android的UI组件(components from the Android UI toolkit (com.....
分类:
移动开发 时间:
2014-07-01 23:48:25
阅读次数:
254
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thread类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 ——synchronized和volatil...
分类:
编程语言 时间:
2014-06-30 23:44:59
阅读次数:
325
1.概念 Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。2.案例package org.lkl.thread;import java.util.concurren...
分类:
编程语言 时间:
2014-06-21 00:32:08
阅读次数:
324
使用Thread+Handler实现非UI线程更新UI界面概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程...
分类:
移动开发 时间:
2014-06-08 07:20:59
阅读次数:
299
js线程模型客户端javascript是单线程,浏览器无法同时运行两个事件处理程序设计为单线程的理论是,客户端的javascript函数必须不能运行太长时间,否则会导致web浏览器无法对用户输入做出响应。这也是为什么Ajax的API都是异步的,以及为什么客户端Javascript不能使用一个简单的异...
分类:
编程语言 时间:
2014-06-05 13:25:49
阅读次数:
513
socket模型:
1、阻塞模型
一个单进程accept阻塞,接收到客户端请求后,read消息,处理write返回,然后循环继续accept。
这种模型最最简单,不实际,没什么实际用途,对于新手教学还行。
2、多进程(线程)模型
主进程循环accept阻塞,接收到客户端请求后,fork子进程处理,子进程read阻塞,接收客户端消息并响应。
这种模型是我使用到...
分类:
其他好文 时间:
2014-05-24 19:50:08
阅读次数:
274