上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,如今来个复杂点的。这个问题涉及到线程的同步和相互排斥,是一道很有代表性的多线程同步问题,假设能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。程序描写叙述:主线程启动10个子线程并将表示子线程...
分类:
编程语言 时间:
2014-07-10 13:52:16
阅读次数:
298
官方教程:https://docs.python.org/2/library/logging.html1. 用法1import loggingimport logging.handlersLOG_FILE = 'tst.log'handler = logging.handlers.RotatingF...
分类:
编程语言 时间:
2014-07-09 23:45:45
阅读次数:
389
#include "lrs.h"vuser_init(){ char *ip; int handler;//编写获取LR分配的Vuser IP函数,将IP保存在ip变量中。 ip=lr_get_vuser_ip(); if(ip) lr_vuser_status_message("the ip .....
分类:
其他好文 时间:
2014-07-07 19:56:58
阅读次数:
242
理解Handler的原理首先要搞清楚什么是Looper,在我的上一篇博文中对此有专门的介绍。Looper的作用是开启一个消息循环,从MessageQueue(Message队列,是Looper的成员变量)中循环取出消息处理。一个线程要使用Handler来处理来自其它线程的消息,这个线程必须有且仅有一个Looper对..
分类:
其他好文 时间:
2014-06-29 21:27:29
阅读次数:
398
应用开发中,经常会遇到需要多线程技术的时候,比如UI显示和数据处理分开。在实际应用中经常会遇到这种场景,我们需要新开一个线程来监听数据状态(数据状态的改变,接收数据,发送数据等等),当发现数据状态改变时通知主线程(通过消息机制发送消息到主线程),主线程接收到通知之后进行处理(自定义消息处理接口)。具...
分类:
编程语言 时间:
2014-06-28 10:09:47
阅读次数:
214
这里我不再详细介绍那写比较chang gui...
分类:
其他好文 时间:
2014-06-27 23:45:28
阅读次数:
1753
查View的源码可知:
postInvalidate是使用handler发送消息,即可以使用在非UI线程中,而invalidate直接修改布局,所以只能用在UI线程里了。
public void invalidate() {
invalidate(true);
}
void invalidate(boolean invalidateCa...
分类:
其他好文 时间:
2014-06-27 23:39:04
阅读次数:
256
有时候我们会遇到这样的问题:做一个大的事情可以被分解为做一系列相似的小的事情,而小的事情无非就是参数上有可能不相同而已!
此时,如果不使用线程,我们势必会浪费非常多的时间来完成整个大的事情,而使用线程的话将会存在这样的问题:
主线程启动所有子线程并发执行后主线程就直接返回了,导致外部函数判读整个大的事情完成了,但是实际上并没有完成!
针对以上情况我想我会采用多线程方式执行同时解决主线...
分类:
编程语言 时间:
2014-06-27 10:23:41
阅读次数:
210
整理Android Asynchronous Http Client的使用
Android Asynchronous Http Client(AHC)
一个回调式的Android网络请求库
概括:
AHC是基于Apache的HttpClient 库,所有的网络请求过程在UI线程之外进行,而回调是在Handler里面处理。也可以再Service或者后台程序里面使用,这个库会自...
分类:
移动开发 时间:
2014-06-27 10:06:19
阅读次数:
308
1. 什么是Handler:
Handler 网络释义“操纵者,管理者的”意思,在Android里面用于管理多线程对UI的操作;
2. 为什么会出现Handler:
在Android的设计机制里面,只允许主线程(一个程序第一次启动时所移动的线程,因为此线程主要是完成对UI相关事件的处理,所以也称UI线程)
对UI进行修改等操作,这是一种规则的简化,之所以这样简化是因为Android的UI操...
分类:
移动开发 时间:
2014-06-27 09:50:16
阅读次数:
268