Properly synchronize threads to communicate and wait for other threads to be done. Reduces excess processing and should increase speed of program.