Прошу прощения, я не знаю «что можно» и «что нельзя» делать в потоках третьего питона, но раз за двое суток по теме никто не ответил, я отвечу немного не по теме.
Я бы порекомендовал вместо поисков «что можно» и «что нельзя» изучить «как надо» работать с потоками вообще. А потом, уже понимая что Вы хотите получить, изучать как именно нечто подобное можно сделать в третьем питоне. А «надо» с потоками работать в стиле
CSP — это самый простой подход, превращающий многопоточное программирование из очень сложной, запутанной и глючной. К сожалению, он подразумевает использование действительно большого количества потоков, что невозможно если каждому потоку выделять довольно большой стек (что делают практически все реализации потоков в разных языках и ОС). Поэтому «пощупать» это можно, например, на языке Go, или на stackless питоне.