今天我们来接触一下多线程下载,当然也包括断点续传,我们可以看到
很多下载器,当开通会员的时候下载东西的速度就变得快了许多,这是为什么呢?这就是跟今天讲的多线程有关系了,其实就是多开了几个线程一起下载罢了。当然真正的多线程下载要比这个复杂,要考虑很多问题。做个不恰当的比喻:假如我们把一个服务器上的文件看作是一个水缸里的水的话,那么多线程下载就相当于从水缸上打了多个小孔,然后塞进去小管道进行抽水。呵呵...
分类:
移动开发 时间:
2016-06-02 18:26:00
阅读次数:
286
收集三
对话框
多线程下载断点续传
XUtils的使用
Activity跳转
Intent跳转并携带数据IntentBundle携带
Activity销毁时传递数据
Receiver案例
ip拨号器示例
短信拦截
SD卡状态监听
流氓软件
应用的安装卸载监听
发送无序广播
优先级及最终接受者
服务
启动停止
电话录音服务
服务的两种启动方式
中间人服务
音乐播放
通过服务手动启动广播接受者收集三对话...
分类:
移动开发 时间:
2016-06-02 14:50:39
阅读次数:
271
在网络编程中,一般都是多线程的编程,这就出现了一个问题:数据的同步与共享。而互斥锁和条件变量就是为了允许在线程或进程间共享数据、同步的两种最基本的组成部分。它们总能够用来同步一个进程中的多个线程。
再进入互斥锁和条件变量之前,我们先对多线程的一些相关函数进行简单介绍:多线程简单介绍和相关函数:
通常,一个进程中包括多个线程,每个线程都是CPU进行调度的基本单位,多线程可以说是在共享内存空间中并发...
分类:
其他好文 时间:
2016-06-02 14:29:23
阅读次数:
219
之前我们整理了互斥锁与条件变量问题它保证了共享资源的安全,但在多线程中我们也会经常对共享数据进行读、写操作。也就是说对某些资源的访问会 存在两种可能的情况,一种是访问必须是排查性的,就是独占的意思,这称作写操作;另一种情况就是访问方式可以是共享的,就是说可以有多个线程同时去访问某个资源,这种就称作读操作。这个问题模型是从对文件的读写操作中引申出来的。读写锁比起mutex具有更高的适用性,具有更高的并...
分类:
其他好文 时间:
2016-06-02 14:05:02
阅读次数:
263
一、HashMap简介
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。
HashMap 实现了Serializable接口,因此它支持序列化,实现了Clon...
分类:
其他好文 时间:
2016-06-02 13:45:45
阅读次数:
273
为什么要使用多线程下载呢?
究其原因就一个字:"快",使用多线程下载的速度远比单线程的下载速度要快,说到下载速度,决定下载速度的因素一般有两个:
一个是客户端实际的网速,另一个则是服务端的带宽。我们经常使用的是单线程下载,也就是下载一个文件就是开启一个线程去请求下载资源。
这里我们不考虑客户端实际网速因素,因为这个因素多变,不好控制。我们主要考虑的因素就是服务端的带宽。那么服务端是如何给每个...
分类:
移动开发 时间:
2016-06-02 11:39:08
阅读次数:
350
我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作状态;或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理,然而,多线程不可避免地会带来一个问题,就是线程同步的问题。如果这个问题处理不好,我们就会得到 ...
分类:
编程语言 时间:
2016-06-02 11:23:37
阅读次数:
178
Grand Central Dispatch,或者GCD,是一个极其强大的工具。它给你一些底层的组件,像队列和信号量,让你可以通过一些有趣的方式来获得有用的多线程效果。可惜的是,这个基于C的API是一个有点神秘,它不会明显的告诉你如何使用这个底层组件来实现更高层次的方法。在这篇文章中,我希望描述那些 ...
分类:
移动开发 时间:
2016-06-02 11:13:45
阅读次数:
187
package com.copyFile; import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayLis ...
分类:
编程语言 时间:
2016-06-02 11:12:33
阅读次数:
234
项目比较简单:主要使用了TCP传输协议、多线程和swing窗口,以及IO流读写。 功能:各窗口之间简单的收发信息,另外附加一个抖动的效果。 服务器代码: 1 package com.java; 2 3 import java.awt.Dimension; 4 import java.awt.Tool ...
分类:
其他好文 时间:
2016-06-02 09:49:53
阅读次数:
182