Android 当线程名获得4位数的名称后缀(如RxNewThreadScheduler-1009)时,这是否正常?

Android 当线程名获得4位数的名称后缀(如RxNewThreadScheduler-1009)时,这是否正常?,android,multithreading,threadpool,rx-java,polling,Android,Multithreading,Threadpool,Rx Java,Polling,我做了一种轮询-每1s我调用read(),获取一些值,然后通过通知(值)(在引擎盖下)发送。readSubs.unsubscribe()只是为了防止下一次轮询比上一次读取更快 public void read(){ readSubs.unsubscribe(); readSubs = connection.read() .subscribe(new Action1<Integer>() {

我做了一种轮询-每1s我调用
read()
,获取一些值,然后通过
通知(值)
(在引擎盖下)发送。
readSubs.unsubscribe()只是为了防止下一次轮询比上一次读取更快

public void read(){
    readSubs.unsubscribe();
    readSubs = connection.read()
                    .subscribe(new Action1<Integer>() {
                        @Override
                        public void call(Integer value) {
                            Log.d(LOG_TAG, "read " + value);
                            inform(value);
                        }
                    });
}

public void inform(Integer value) {
    Log.d(TAG, "informed " + value + " on thread " + Thread.currentThread().toString());
    broadcaster.newValue(value);  //broadcaster extends LocalBroadcastManager
}
到目前为止,我得到的线程名是
RxNewThreadScheduler-1009
,而且它还在增长。我的问题是:

  • 线程名获得4位名称后缀是否正常
  • 这是否意味着实际上有1009个线程
  • 1) 这种情况会发生,这表明您应该改用
    Schedulers.io()

    2) 不,这意味着您从应用程序开始就启动了许多线程(很可能已经完成)。

    1)这种情况发生了,这表明您应该使用
    Schedulers.io()


    2) 不,这意味着有那么多线程从应用程序的一开始就开始了(而且很可能已经完成了)。

    您是否可以再补充一些:为什么我应该使用Schedulers.io()?io()重用线程,并且其索引不应该增长太大-在这个过程中节省了操作系统的处理程序。实际上,使用Schedulers.io()可以线程名称最多为RxIoScheduler-2。我在哪里可以找到关于Schedulers.io()的行为的文档?你能补充一些内容吗:为什么我应该使用Schedulers.io()?io()重用线程,并且它的索引不应该增长那么大-在这个过程中节省了操作系统的处理程序。事实上,使用Schedulers.io()线程名称最多是RxIoScheduler-2。在哪里可以找到有关Schedulers.io()行为的文档?
    informed value 70 on thread Thread[RxNewThreadScheduler-1009,5,main]