yield return in multithread