Во-первых, потоки ещё запустить надо. Во-вторых, главный поток выйдет из блока with ещё до того, как какой-нибудь из дочерних потоков выполнится. Так что нужно либо создавать экземпляр Bar не контекстным менеджером, либо добавить ожидание завершения потоков. В-третьих, если Bar не потокобезопасен, то нужна ещё синхронизация перед вызовом next. Наконец, PEP8 стоит соблюдать.