I have several GLEventListener, all of which are attached to GLCanvases that share the same GLContext. I would like to create an object that tracks which lights are currently on (every time I enable or disable a light, I will flip a bit in this data structure), and other light data. For this to work, whenever the display() method of one GLEventListener is called, I must not be inside the display() method of any other GLEventListener attached to the same GLContext.
Am I guaranteed thread mutual exclusivity while in display()? Do I need to chop my display() code in synchronized blocks?