Do you know when to use multithreading? What are the advantages and disadvantages?