graphstream / gs-core

Graphstream core
http://graphstream-project.org/
Other
398 stars 109 forks source link

Attempt Fix #293 #337

Closed hichbra closed 3 years ago

hichbra commented 4 years ago

The Problem

NoSuchElementException thrown in GraphListeners when an attribute is changed simultaneously by different threads, even using a synchronizedGraph.

The Cause

A concurrent event sended to GraphListeners by sendAttributeChangedEvent() who wasn't protected by a lock in a case when attributes from different sources (graph/node/edge) was changed.

The Solution (Edit)


- Adding a unit test for the concurrency change of attributes