I am working on a project using Eclipse RCP and Swing. I see two pairs of methods
Eclipse uses the SWT User Interface, this is a completely separate UI system from Swing.
asyncExec()/syncExec() are part of the SWT system.
If you are writing an Eclipse RCP or plug-ins for Eclipse you should be writing SWT code.
SWT does provide a method of using Swing code but this should be a last resort.
Since they are totally different UI systems each with its own event loop
syncExec are not interchangeable. It is very easy to get into a mess when there are two UI event loops running.