Issue #20455: Add a resolution attribute to IocpProactor (1 ms)
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index f0c08c2..b6b3be2 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -354,6 +354,7 @@
         self._selector = proactor   # convenient alias
         self._self_reading_future = None
         self._accept_futures = {}   # socket file descriptor => Future
+        self._granularity = max(proactor.resolution, self._granularity)
         proactor.set_loop(self)
         self._make_self_pipe()
 
diff --git a/Lib/asyncio/windows_events.py b/Lib/asyncio/windows_events.py
index 0a2d981..b8574fa 100644
--- a/Lib/asyncio/windows_events.py
+++ b/Lib/asyncio/windows_events.py
@@ -191,6 +191,7 @@
         self._cache = {}
         self._registered = weakref.WeakSet()
         self._stopped_serving = weakref.WeakSet()
+        self.resolution = 1e-3
 
     def set_loop(self, loop):
         self._loop = loop