What does it mean when threads are time-sliced? Does that mean they work as interrupts, don't exit while routine is not finished? Or it executes one instruction from one thread then one instruction from second thread and so on?
Time-sliced threads are threads executed by a single CPU core without truly executing them at the same time (by switching between threads over and over again).
This is the opposite of simultaneous multithreading, when multiple CPU cores execute many threads.
Interrupts interrupt thread execution no matter of technology, and when interrupt handling code exits, control is given back to thread code.