8 ms·
Unless your program is designed to work that way, the fine-grained synchronization that StringBuffer offers over StringBuilder is almost certainly not very usef
by veddan 10y ago
Unless your program is designed to work that way, the fine-grained synchronization that StringBuffer offers over StringBuilder is almost certainly not very useful. And since Java is a memory-safe language, the only meaningful difference between StringBuffer and StringBuilder in "accidentally" multi-threaded code is the exact manner in which your output will garbled.
- kbenson 10y agoUp-thread, lmm, said "You wouldn't necessarily know, or notice - your users would just experience occasional random crashes." Are you saying that's incorrect? If so, that's less an issue of safety, as much as it is data integrity, which is to my mind a less important constraint to keep. In that case, an argument about defaults with respect to safety is a non-sequitur, so I don't really have a point to argue with respect to this example (if true).
- mcguire 10y agoI think your definitions are wrong there. A crash is the best thing that can happen in the case of most, if not all errors. A program that generates bad data, or even worse, converts good data to bad data is much, much worse.