function createThreads(count, rpcHandler, config) {
  var set = []

  for (var threadId = 0; threadId < count; ++threadId) {
    var fullThreadId = config.id ? [ config.id, threadId ].join(':') : threadId;
    set.push(HappyThread(fullThreadId, rpcHandler, config));
  }

  return set;
}
Create a thread pool that can be shared between multiple plugin instances.

@param {Object} config
@param {Number!} config.size
       The number of background threads to spawn for running loaders.

@param {String?} config.id
       Used for prefixing the thread IDs. This is only used for logging
       purposes and does not affect the functionality.

@param {Boolean?} [config.verbose=false]
       Allow this module and threads to log information to the console.

@param {Boolean?} [config.debug=false]
       Allow this module and threads to log debugging information to the
       console.

@param {Boolean?} [config.bufferedMessaging=false]
       Compatibility mode for fork() on Windows where message exchange
       between the master and worker processes is done serially.

       This should be turned on if you're on Windows otherwise the process
       could hang!