Looking for recommendations to learn about async programming

My long term goal is to implement some sort of socket API for the importer, so there can be web GUIs (among
others) built for it. For discussion, see: [#3073](https://github.com/beetbox/beets/issues/3073

I don’t have that much experience yet though, and am certainly not ready for the job right away. So, I think I could really benefit from reading up on some fundamental theory on threading, async event-driven programming and the pipeline design pattern.

Could anyone recommend good books or other sources (blogs, videos) that will help me out? I’ve found some interesting talks on YouTube, but I notice not everything sticks too well because I lack fundamental knowledge. I’ll post this question on the discussion board as well.