Microsoft Interview Question

Design a pub/sub system. Multithread it.