在Android中进行多线程下载一个文件时,线程数要根据什么来设置,是根据手机的cpu核心数来设置吗?
不可能根据CPU核心数来设置啊。如果四核的CPU线程数量最多只能4个吗,绝对不止啊。 写的时候你可以自己设定一个线程最大并发数,Executors.newFixedThreadPool(num);
一般要看CPU是几核几线程的,手机的性能毕竟还是不能和电脑比,要根据手机自身的性能来设置。
跟CPU没有关系。这种多线程下载或者多线程IO之类的,瓶颈不在CPU,而是在IO异步回调的响应速度。这跟并发编译不一样。多开线程没什么关系,内存开销不会很多。
据说设置线程数为cpu数量+1会好一点
不仅要看你的CPU核数,还要看你的操作中cpu计算部分和IO操作的部分各自占的比例,看看瓶颈在哪里不嫌麻烦的话,可以使用systrace来观察一下具体的执行过程
2 回答1.4k 阅读✓ 已解决
2 回答2.7k 阅读
2 回答1.8k 阅读
1 回答2.1k 阅读
1 回答1.2k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
2 回答6.7k 阅读
1 回答3.6k 阅读
1 回答1.7k 阅读✓ 已解决
7 回答4.8k 阅读✓ 已解决
4.3k 阅读
不可能根据CPU核心数来设置啊。如果四核的CPU线程数量最多只能4个吗,绝对不止啊。
写的时候你可以自己设定一个线程最大并发数,Executors.newFixedThreadPool(num);