code: public boolean setThreadCount(int count) {
      boolean result = false;
      if(count < 0 || flacStreamIsOpen)
        return false;
      streamLock.lock();
      try {
        if(flacStreamIsOpen)
          result = false;
        else {
          MAX_THREADED_FRAMES = count;
          prepareThreadManager(streamConfig);
          result = true;
        }
      }finally {
        streamLock.unlock();
      }
      return result;
    }
docs: Tell encoder how many threads to use for encoding. More threads than this
  will exist, but only the given amount should be in a running state at
  any moment(the other threads are simply manager threads, waiting for
  encoding-threads to end). A special case is setting "count" to zero; this
  will tell the encoder not to use internal threads at all, and all
  encoding will be done with the main thread. Otherwise, any encode methods
  will return while the encode actually takes place in a separate thread.
  
  @param count Number of encoding threads to use. Count &gt; 0 means use that
  many independent encoding threads, count == 0 means encode in main thread,
  count &lt; 0 is ignored.
  
  @return boolean value represents whether requested count was applied or
  not. This may be false if a FLAC stream is currently opened.