1. A computer-implemented method of processing a synchronous user interface thread by a synchronous program, comprising: detecting that the synchronous program is invoking a synchronous user interface display; detecting that an asynchronous user interface is to be displayed; blocking the synchronous user interface thread, using a synchronous user interface thread handling component, based on the asynchronous user interface thread; displaying the asynchronous user interface display over the synchronous user interface display while blocking the synchronous user interface thread; detecting completion of processing, by the synchronous program, corresponding to the synchronous user interface display; based on detecting completion of processing corresponding to the synchronous user interface display, removing display of the asynchronous user interface display; and unblocking the synchronous user interface thread.