Метод рисования следует вызывать только в одном потоке, нити диспетчеризации событий, поэтому синхронизировать не нужно. Я полагаю, что корень проблемы заключается в том, как используются компоненты. Взгляните на эту ссылку , чтобы узнать о некоторых идеях, касающихся параллелизма в пользовательском интерфейсе.