Any old thread will do. I always double my thread so that I am sewing with two strands at all times. That way, it's half the work!
I thread the needle, then knot the two ends together and draw my needle from the back to the front of the fabric and through a buton hole, Back down and return to the back side. I poke the needle through the loop in the thread from my first stitch and and pull tight. You can sew however you would like an "x" pattern or "=" pattern through the holes. I try to stitch at least three times between the button holes for a strong hold.
When it is time to knot, I take my needle and stitch underneath all of the stitches on the rear of the fabric and wrap the thread around a couple of times to make a nice tight knot. I do that a couple of times.
I do like upholstery weight thread for buttons on pants, it is very strong and holds up against the biggest bellies and the tightest waistbands, lol!