Using Muliti Threading to stream MP3's in the background during gameplay?

I have been working on a game that will be used to market music and animated series. I want to implement an MP3 player that the user/player will access via the CD player in the main vehicle (something like Grand Theft Auto). I have spent the last week really getting a grasp on multithreading, delegates, and events. I fully understand the troubles that could arise with multithreading (race conditions, memory leaks, etc), and how to circumvent those issues.

Since one of the chief marketing strategies behind the application I’m building is to promote and sell music, my objective is to use a background thread to load and unload mp3’s that can be streamed, thus preventing any lag in the game. Is multithreading the best way to achieve this objective, or is their better, more optimized way to perform the tasks of loading and unloading between 60 seconds to a minute and a half of music into the background without causing a lag in game play? Thanks in advance for any direction you provide.

Wow. Another user asked a similar question in 2015 with no answer. So either someone can’t answer the question or won’t answer the question. Thank God for Stack for validating that I’m on the right track.