A blackjack server-client application that utlizes multithreading by serving each client on separate threads. Communication between server and client is done through socket io. Multithreading is achieved by the use of static object locks and the use of wait and notifyAll().