title: What module to use for calling user-defined functions in parallel
body: <p>I've written an irc bot that runs some commands when told so, the commands are predefined python functions that will be called on the server where the bot is running.</p>
  
  <p>I have to call those functions without knowing exactly what they'll do
  (more I/O or something computationally expensive, nothing harmful since I review them when I accept them), but I need to get their return value in order to give a reply back to the irc channel.</p>
  
  <p>What module do you recommend for running several of these callbacks in parallel and why?</p>
  
  <p>The <code>threading</code> or <code>multiprocessing</code> modules, something else?</p>
  
  <p>I heard about twisted, but I don't know how it will fit in my current implementation since I know nothing about it and the bot is fully functional from the point of view of the protocol.</p>
  
  <p>Also requiring the commands to do things asynchronously is not an option since I want the bot to be easily extensible.</p>