Most Processing libs that have callback names w/ the word “event” on them are indeed threaded.
There are many ways to workaround threading access/mutation; but I prefer to start w/ the simplest 1s before attempting more advanced techniques.
If your sketch just needs to refresh the draw() when a new data arrives, you can simply use this noLoop()/redraw() combo: