For a list of size S, and assuming that the size of the list does not change during the process, one possibility would be to assign a
thread to loop through 0 to S/2, and another thread to loop through S/2 to S. But first, do you understand how to create a single thread ? Try to make a thread which loop through the whole list. Once you've done that, tell the thread to loop from which index to which index. Then, you can make as many threads as you want.
You are calling methods a(), b() in your loop. Be careful that if you make this process multi-threaded, you may have concurrency issues coming in.You must be careful that this in a() won't interfere with things in b() (and vice-versa)