gh-144342: Use `time.sleep` in `profiling.sampling` (#144343)

diff --git a/Lib/profiling/sampling/sample.py b/Lib/profiling/sampling/sample.py
index f657849..c6abfb1 100644
--- a/Lib/profiling/sampling/sample.py
+++ b/Lib/profiling/sampling/sample.py
@@ -100,7 +100,11 @@ def sample(self, collector, duration_sec=None, *, async_aware=False):
                     break
 
                 current_time = time.perf_counter()
-                if next_time < current_time:
+                if next_time > current_time:
+                    sleep_time = (next_time - current_time) * 0.9
+                    if sleep_time > 0.0001:
+                        time.sleep(sleep_time)
+                elif next_time < current_time:
                     try:
                         with _pause_threads(self.unwinder, self.blocking):
                             if async_aware == "all":