multithreading in python?

A good way to know what is allowed and what is not: the code in your thread should be able to run standalone in python33.exe, outside of TouchDesigner. If it is using anything that TouchDesigner provides such as OPs, storage etc, then you are creating race conditions that will potentially cause crashes.

For counters you need to use locks:
eli.thegreenplace.net/2012/01/04 … processing

The difference with a CHOP Execute DAT is that that DAT always executes in the main thread, so there is no chance of memory it is accessing (DAT table for example) changing on it from another OP cooking. There is no threading going on there.

Yes if you do all of this in another process and don’t use threading at all, then you don’t need to worry about threading.