There are some cool examples of places were xargs fails in the docs, this got me very excited I hope it works in 2.7. https://docs.python.org/3/library/concurrent.futures.html
In simple cases, you could use multiprocessing.Pool():
results = pool.map(processfile, getpaths())
Though you don't need threading to manage concurrent subprocesses or IO (Gevent, Twisted or curio if you use Python 3).
In simple cases, you could use multiprocessing.Pool():
There is also ThreadPool. There are known issues with multiprocessing especially on Python 2.7 e.g., Ctrl+C handling.Though you don't need threading to manage concurrent subprocesses or IO (Gevent, Twisted or curio if you use Python 3).