Если нужно параллельное выполнение задач, то лучше сразу посмотреть на правильный язык. Например, Elixir, который на эрланге. Там концепция класс - это новый запущенный поток выполнения. Свойства класса - данные в этом потоке. Вызов функций - передача-приём сообщений по некой общей шине. В общем, оч прикольная шиза.
Кстати, прикольный подход, когда каждый класс, это отдельный поток