Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 多线程增加wifi速度?为什么?_Android_Multithreading_Wifi - Fatal编程技术网

Android 多线程增加wifi速度?为什么?

Android 多线程增加wifi速度?为什么?,android,multithreading,wifi,Android,Multithreading,Wifi,我用笔记本电脑建立了一个托管网络,并测试了笔记本电脑和安卓手机之间的wifi速度。顺便说一下,这两部手机是一样的 我首先连接我的笔记本电脑和我的一部手机,然后在笔记本电脑和手机之间传输一个400 Mb的文件,平均需要169.6秒 然后,我将我的笔记本电脑与两部手机连接,并使用两个线程分别向每部手机发送一个200MB的文件。所以总共传输了400 Mb的数据。平均只需要136.2秒,比169.6秒还短 我的问题是,由于我的笔记本电脑只有一个wifi芯片组,当我使用两个线程传输相同大小的数据时,它怎么

我用笔记本电脑建立了一个托管网络,并测试了笔记本电脑和安卓手机之间的wifi速度。顺便说一下,这两部手机是一样的

我首先连接我的笔记本电脑和我的一部手机,然后在笔记本电脑和手机之间传输一个400 Mb的文件,平均需要169.6秒

然后,我将我的笔记本电脑与两部手机连接,并使用两个线程分别向每部手机发送一个200MB的文件。所以总共传输了400 Mb的数据。平均只需要136.2秒,比169.6秒还短


我的问题是,由于我的笔记本电脑只有一个wifi芯片组,当我使用两个线程传输相同大小的数据时,它怎么能更快呢?有一件事我可以肯定的是,它不可能是来自其他wifi设备的干扰,因为它总是发生,即使周围没有wifi设备。有没有可能当我使用一个线程时,计算机没有将所有wifi资源分配给该线程?

因为使用了两个线程,所以访问资源的机会增加了。这两个线程消耗的CPU周期越多,因此获得的吞吐量就越大。简言之,现在两个进程并行运行,因此时间消耗减少了。@GauravGupta:由于两个线程正在访问同一个wifi芯片,我认为wifi部分是数据速率的瓶颈。即使两个线程是并行的,在wifi芯片中也不是并行的,因为它不能同时从两个线程发送数据包。但是我不确定我是否正确。。。如果我错了,请告诉我。如果是单线程,当该线程从CPU释放时,您的wifi芯片将处于空闲状态。但在两个线程的情况下,可能性更大,当CPU释放一个线程时,thread2可能会被拾取,然后这个thread2将获得wifi芯片。这就是为什么当存在多个线程时,wifi芯片所做的工作会更多,因为使用wifichip的线程的执行概率会增加。