I was going to mention something to this effect too. Depending on the size of the data, it might actually be more costly to be using threads. You don't need 4 threads to parse a 4 element array, for example. There's a point of diminishing returns with regards to threads.
OP, most of the best advice I've gotten is from Mario and one thing he's said that's always stuck with me is, threads are an optimization technique. Believe me, not all optimization techniques work or are even worth the effort. Especially if you're doing threads in C. * shudders *