A few tips on threading and multiprocessing

  • be familiarized with cocos and pyglet in single threaded code before attempting threads or subprocess
  • consider to use events and timers instead of threads or subproces
  • multiprocessing: import cocos and pyglet only in one process, see issue #281
  • threading
    • the gui thread must be the main thread
    • cocos code is not reentrant or thread-safe; call it only from the gui thread
    • use a queue to communicate with the gui thread; in the gui thread schedule a function to poll (non-blocking) the queue and dispatch as events
  • The pyglet and cocos google groups have a few threads relevant, search there for ‘threading’ or ‘subprocess’