1、得到服务器下载文件的大小,然后在本地设置一个临时文件(服务的文件大小一致)2、开启线程的数量(每个线程下载的大小(开始位置和结束位置))threadNum=3;threadSize = fallSize/threadNum=33、怎么设置开始线程的位置:RandomAccessFile raf;raf.seek指定的位置去操作。HttpUrlCOnnection.setRequestPrope...
分类:
移动开发 时间:
2014-06-05 02:57:25
阅读次数:
351
最近遇到一个问题.就是
我在io线程里不断的把一个函数调用放到队列里
然后ruby线程就不断的从这个队列里取出函数之争并执行.
典型的 消费者模式.
我以前以为是这样...
这是work线程
pthread_mutex_lock(&mutex2)
while(( invoke = get_invoke() ) != NULL){
do_invoke(invo...
分类:
其他好文 时间:
2014-06-04 22:35:56
阅读次数:
408
静态的属性、方法等属于类而不是对象。
静态的方法可以由类直接调用,不需要将类实例化。
本篇主要说明:静态的代码、成员变量要比构造方法先执行。
子类的构造方法会默认去调用父类的不带参数的构造方法,如果父类不提供不带参数的构造方法,则子类的构造方法要显示使用super(param),去调用父类的带参数的构造方法...
分类:
编程语言 时间:
2014-06-03 05:58:51
阅读次数:
331
请问ArrayList、LinkedList、Vector的区别
①ArrayList底层实际上是采用数组实现的(并且该数组的类型的Object类型的)
②如果jdk6,采用Array.copyOf()方法来生成一个新的数组,如果是jdk5,采用的是System.arraycopy()方法(当添加的数据量大于数组的长度时候)
③List list = newArrayList()时,底层会生成一个长度为10的数组来存放对象
④ArrayList、Vector底层都是采用数组实现的
⑤对于ArrayLis...
分类:
编程语言 时间:
2014-06-03 04:20:31
阅读次数:
304
1 调度
Windows不是实时操作系统,它是抢占式多线程操作系统。在假设所有优先级相同的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,根据Context中的IP和SP来接着执行上次的东西。Windows永远不会让1个线程去独占一段时间。
2 可调度性
系统只调用可以调度的线程,其实系统的大部分线程都是处于不可调度的状态,要么处于暂停的状...
分类:
编程语言 时间:
2014-06-03 00:16:07
阅读次数:
402
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
public class Demo {
// 定义线程个数
public static int threadCount = 5;
public static...
分类:
编程语言 时间:
2014-06-03 00:04:59
阅读次数:
346
本应用实现的是输入文件的网络的地址,点击按钮开始下载,下载过程中有进度条和后面的文本提示进度,
下载过程中按钮不可点击,防止重复的下载,下载完毕后会进行Toast的提示显示,
并且回复按钮的可点击性,进度条也会清空,当然如果下载中途结束应用进程就会进行进度的保存,
下次下载同样的文件时就会从进度记录进行下载,节省流量和时间
应用需要的应用权限:
访问网络权限
外部储存的写入...
分类:
移动开发 时间:
2014-06-01 10:03:13
阅读次数:
491
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerExcept...
分类:
编程语言 时间:
2014-06-01 09:13:59
阅读次数:
324
1. 线程基础
概念
1). 线程全称控制线程
2). 多线程的优势:
a) 比进程方便,可以共享相同的内存空间及文件描述符
b) 可以用于多个任务,而这些任务如果用单进程来实现是串行,在多线程里面由于CPU的调度可以实现穿插执行
c) 用于交互程序,将用户输入输出与其他部分分开,优化性能
...
分类:
编程语言 时间:
2014-05-31 21:44:34
阅读次数:
417
Qt作为一种基于 C++ 的跨平台 GUI
系统,能够提供给用户构造图形用户界面的强大功能。为了满足用户构造复杂图形界面系统的需求,Qt提供了丰富的多线程编程支持。从 2.2
版本开始,Qt主要从下面三个方面对多线程编程提供支持:一、构造了一些基本的与平台无关的线程类;二、提交用户自定义事件的 Th...
分类:
编程语言 时间:
2014-05-31 19:24:32
阅读次数:
343