This may help a little:
"Multitasking does not necessarily mean that multiple tasks are executing at exactly the same time (simultaneously). In other words, multitasking does not imply parallel execution, but it does mean that more than one task can be part-way through execution at the same time, and that more than one task is advancing over a given period of time." - Wikipedia
So, multitasking is probably going to be very hard without having multiple cores. (I'm pretty sure the z80 only has 1 core...)
Just try to make sure to optimize your code very well to get the fastest speeds. That is pretty much the only way I can think of getting the "illusion" of multitasking.
"Multitasking does not necessarily mean that multiple tasks are executing at exactly the same time (simultaneously). In other words, multitasking does not imply parallel execution, but it does mean that more than one task can be part-way through execution at the same time, and that more than one task is advancing over a given period of time." - Wikipedia
So, multitasking is probably going to be very hard without having multiple cores. (I'm pretty sure the z80 only has 1 core...)
Just try to make sure to optimize your code very well to get the fastest speeds. That is pretty much the only way I can think of getting the "illusion" of multitasking.