线程名取4位后缀是否正常(如RxNewThreadScheduler-1009)?

Is it normal when thread name gets 4 digits name suffix (like RxNewThreadScheduler-1009)?

我进行了一种轮询 - 每 1 秒我调用 read(),获取一些值并通过 inform(value)LocalBroadcastManager 在后台发送)。 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
}

我观察 logcat 那

informed value 70 on thread Thread[RxNewThreadScheduler-1009,5,main]

到目前为止,我获得的线程名称最多为 RxNewThreadScheduler-1009,并且它还在增长。我的问题:

  1. 线程名有4位后缀是否正常?
  2. 是否意味着实际上有1009个线程?

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

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