How to have round robin effect for many coroutines execution sequence?

Imagine you have Coroutine of type A. Coroutine of type B. Coroutine of type C.

You launch very quickly 1000 A, then 1000 B, then 1000 C coroutines == 3000 coroutines.

How to ensure that on each Thread coroutines will be executed in round robin order:
A, then B, then C
A, then B, then C
A, then B, then C
A, then B, then C

Currently it more looks like they will be executed like:
1000 A
1000 B
1000 C

Am I correct ??

Are the coroutines independent or linked? For example, does the tenth A coroutine have to complete before the tenth B coroutine starts?

Why do you want them to execute in round robin order?