А он что делает без событий?
Повторюсь, я не понимаю как тут применить события. Есть FRunnable, у него в отдельном потоке запускается метод Run, при выходе из Run поток завершится. По моей задумке в Runв цикле должна слушаться очередь из которой поток получает задания. Синглтон при создании запускает поток, а при удалении шлет потоку задачу закрыться и ожидает его завершения. Проблема в реализации этой очереди, которая должна блокировать поток когда она пустая.
Или я что-то делаю совсем не так?