code: def test_async_multiple_managers_delayed_process(self):
      sentinel = {"async": 0, "sync": 0}
  
      def _counter(key, f, *args, **kwargs):
          sentinel[key] += 1
          return f(*args, **kwargs)
  
      short_delay_queue_process = partial(_counter, "sync")
      long_delay_queue_process = partial(
          TestAsync.loop.add_timeout, 1, _counter, "async"
      )
  
      tbl = Table({"a": int, "b": float, "c": str})
      tbl2 = Table({"a": int, "b": float, "c": str})
  
      manager = PerspectiveManager()
      manager2 = PerspectiveManager()
      manager.host_table("tbl", tbl)
      manager2.host_table("tbl2", tbl2)
  
      manager.set_loop_callback(short_delay_queue_process)
      manager2.set_loop_callback(long_delay_queue_process)
  
      @syncify
      def _tbl_task():
          for i in range(10):
              tbl2.update([data[i]])
  
      _tbl_task()
      for i in range(10):
          tbl.update([data[i]])
  
      @syncify
      def _tbl_task2():
          size = tbl2.size()
          tbl2.delete()
          return size
  
      assert _tbl_task2() == 10
      assert tbl.size() == 10
      assert sentinel["async"] == 1
      assert sentinel["sync"] == 10
  
      tbl.delete()
  
imports: import queue
  import random
  import threading
  from functools import partial
  import tornado.ioloop
  from perspective import PerspectiveError, PerspectiveManager, Table
  from pytest import raises
label_desc: Use image node_id 10 for calling the TestAsync obj's underlying member method code with example usage: obj.test_async_multiple_managers_delayed_process() and returns: f, size