本项目完成的功能类似与迅雷等下载工具所实现的功能——实现多线程断点下载。
主要设计的技术有:
1、android中主线程与非主线程通信机制。
2、多线程的编程和管理。
3、android网络编程
4、自己设计实现设计模式-监听器模式
5、Activity、Service、数据库编程
6、android文件系统
7、缓存博文链接:
Android-多线程断点下载详解...
分类:
移动开发 时间:
2015-04-30 14:26:04
阅读次数:
259
进程间的通信是指在系统中两个或多个进程之间通过第三方进行数据共享。
1.邮槽.
邮槽是window系统提供的一种单向通信的机制。即进程中的一方只能写入或者读取数据,而另一方则只能读取或写入数据。通过邮槽,可以实现一对多或跨网络的进程之间的通信。但邮槽传输的数据量非常小,一般只有400KB左右。
邮槽创建函数CreateMailslot,函数原型:
HANDLE CreateMail...
分类:
系统相关 时间:
2015-04-27 10:01:18
阅读次数:
231
线程范围内的共享变量,通俗的说就是指:特定的线程对应特定的数据,不会因为对象的变化数据而改变。
ThreadLocal 的使用方便我们对不同的线程管理不同的数据,而且能够很好的对单例进行复用,因为我们通常不同的数据对象对应不同的单例进行保存,如果一旦分类数据过多,那么我们得创建大量的单例进行保存。然而ThreaLocal能够做到单例的复用。下面请看代码public class ThreadSco...
分类:
编程语言 时间:
2015-04-26 15:17:29
阅读次数:
141
我们都知道在java中线程的代码形式可以写为如下new Thread(
new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
}
}
).start();在多线程启动之下,线程之间的运行将是随机进行...
分类:
编程语言 时间:
2015-04-26 01:20:27
阅读次数:
263
BlockingQueue是一个接口,也是Queue的子接口。BlockingQueue具有一个特征:当生产者线程试图向BlockingQueue中放入元素时,如果该队列已满,则线程被阻塞;但消费者线程试图从BlockingQueue中取出元素时,如果队列已空,则该线程阻塞。程序的两个线程通过交替向...
分类:
编程语言 时间:
2015-04-24 22:29:19
阅读次数:
291
如果程序不使用synchronized关键字来保证同步时,而是直接使用Lock对象来保证同步,则系统中不存在隐式的同步监视器,也就不能使用wait()、notify()、notifyAll()方法进行通信了。当使用Lock对象来保证同步时,java提供了一个Condition类来保持协调,使用Con...
分类:
编程语言 时间:
2015-04-24 20:53:42
阅读次数:
143
假设现在系统有两个线程,这两个线程分别代表存款者和取钱者——现在假设系统有一种特殊的要求,系统要求存款者和取钱者不断地重复存款、取钱的动作。而且要求每当存款者将钱存入指定账户后,取钱者就立即取出该笔钱。不允许存款者连续两次存钱,也不允许取钱者连续两次取钱。为了实现这种功能,可以借助Object类提供...
分类:
编程语言 时间:
2015-04-23 21:13:40
阅读次数:
153
关于QT的线程通信,我们都会想到signal & slot机制。本文分享了作者使用C++11 Lambda函数及闭包来实现控件消息处理,和使用QT::BlockingQueuedConnection连接实现用于线程间带返回的同步通信机制的方法和技巧。
分类:
其他好文 时间:
2015-04-22 20:13:36
阅读次数:
116
使用消息(message)是线程见通信的常用方法之一。Windows也提供了许多函数来实现这一点。主要使用的函数有PostThreadMessage(), PeekMessage(), GetMessage()
发消息:
一般消息都是和窗口(window)联系在一起的。对于没有窗口的线程, windows提供了专门的发消息函数PostThreadMessage()。 该函数把PostM...
分类:
编程语言 时间:
2015-04-17 07:11:42
阅读次数:
174
package com.lipeng;
public class LoopDemo {
/**
* 线程A循环10次,然后线程B循环100次,然后A再循环10次,然后B再循环100次。如此循环50次。
* lipeng
* 2015-4-10
* @param args
*/
public static void main(String[] args) {
MyTa...
分类:
编程语言 时间:
2015-04-14 23:25:54
阅读次数:
180