title: How to parallel execute consumer in RxJava2?
body: <p>I have a question about the RxJava2. I want to run the consumer in different thread of a fixed thread pool to parallel execute the List result. Here is my code:</p>
  
  <pre><code>    List&lt;String&gt; letters = Lists.newArrayList("a","b","c","d","e","f","g");
      ExecutorService fixedThreadPool = Executors.newFixedThreadPool(letters.size());
      Observable.fromIterable(letters).observeOn(Schedulers.from(fixedThreadPool)).forEach(new Consumer&lt;String&gt;() {
          @Override
          public void accept(String data) throws Exception {
              System.out.println(data + " forEach, thread is " + Thread.currentThread().getName());
          }
      });
  </code></pre>
  
  <p>I got the result is:</p>
  
  <pre><code>a forEach, thread is pool-1-thread-1
  b forEach, thread is pool-1-thread-1
  c forEach, thread is pool-1-thread-1
  d forEach, thread is pool-1-thread-1
  e forEach, thread is pool-1-thread-1
  f forEach, thread is pool-1-thread-1
  g forEach, thread is pool-1-thread-1
  </code></pre>
  
  <p>But actually what I want is this result, each consumor parallel execute in different thread:</p>
  
  <pre><code>a forEach, thread is pool-1-thread-1
  b forEach, thread is pool-1-thread-2
  c forEach, thread is pool-1-thread-3
  d forEach, thread is pool-1-thread-4
  e forEach, thread is pool-1-thread-5
  f forEach, thread is pool-1-thread-6
  g forEach, thread is pool-1-thread-7
  </code></pre>
  
  <p>Can somebody tell me how to make it happen?</p>