אכן השאלה לא ברורה
מה הבעיה להתמודד? רוב הפונקציות הן סינכרוניות בכל השפות שהכרתי עד היום, זו ברירת המחדל.
פונקציות הן לרוב אסינכרוניות כשהן צריכות לבצע פעולה ארוכה מהרגיל או לגשת למשאבים שלא ידוע מתי יהיו זמינים ומתי יחזירו תשובה (בקשת רשת למשל).
אם יש לך פונקציה "מסוכנת" במובן זה, שהיא בכל זאת סינכרונית וחוסמת משום מה, אז אל תקרא לה בת'רד הראשי שלך או בכל ת'רד שחשוב לך לא להשהות, אלא בת'רד שרץ ברקע.
(אתה יכול לעטוף אותה בפונקציה אסינכרונית משלך שתעשה את זה)