Lack of thread safety
OrangeDog opened this issue · comments
James Howe commented
Appirater is not at all thread safe, even when used from a single thread.
For example after this simple code, the value of the count could be incremented by anything between 1 and 3.
[Appirater userDidSignificantEvent:NO];
[Appirater userDidSignificantEvent:NO];
[Appirater userDidSignificantEvent:NO];
Instead of dispatching to a global concurrent queue, it needs to use a private serial queue.
That will be better performance than the alternative of adding @synchronize
everywhere.