Back
Close

Computing with Data

elgeish
179.8K views

Ineffectual Synchronization - Part I

To illustrate how subtle concurrency issues are and how hard they are to miss, we will make a very small change that may look extremely inconspicuous:

class Task implements Runnable {
static int sum = 0;
synchronized public void run() { ++sum; }
}
public class Main {
public static void main(String args[]) throws Exception {
for (int i = 0; i < 10000; i++) {
new Thread(new Task()).start();
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants