Microsoft interview question

Design a pub/sub system. Multithread it.