On a multi-threaded environment, if 2 threads invoke taskInstance.signal() what happens?Does one end in java exception thrown back? If not, can it be programmed that way?