Many problems in distributed computing systems require execution of events shared by multiple processes. In this paper, a fair and efficient algorithm for multi-process shared events is presented. We also present its application to distributed implementation of generalized CSP alternative command. We show that our algorithm is simpler and has lower message and time complexity than proposed implementations for generalized CSP alternative command, and distributed algorithms for N-party interactions.