android - RxJava中工作线程的thread priority问题
黄舟
黄舟 2017-04-18 09:03:56
0
0
1133

发现RxJava中Scedulers.io() / Schedulers.newthread()等线程的thread priority是跟mainThread一样的,如何将其设置为Process.THREAD_PRIORITY_BACKGROUND

在网上找了好久,发现jake大神提到过这个问题,并且为此向RxJava项目提交过一些代码,但是那是针对1.x的。

在2.x上,有一个issue提到过这个问题,项目的一位开发人员回复说2.x中是可以更改每个Scheduler的线程优先级的。经过一番查找,在Schedulers中找到了设置的方法,那就是通过System.setProperty(String key, String value),其中"rx2.io-priority"是修改io线程优先级的key,但由于Process.THREAD_PRIORITY_BACKGROUND是android系统里的值,在java里,线程优先级取值范围是1-10,抱着试试看的态度,我设置了一下,发现果然不起作用:将Process.THREAD_PRIORITY_BACKGROUND设置上之后,通过Process.getThreadPriority(Process.myTid())拿到的值依然是0,即跟mainThread一样,于是,我来求救了。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(0)
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template