对于这个程序来说,计数器类的count实例变量是“竞争资源”。
多条线程可能并发地访问它。
如果要做改进的话,应该将访问该“竞争资源”的方法通通变成同步方法。
也就是说,这个类中,set和get方法都要求同步。
在Java中这是非常容易实现的。
有一个关键字:
synchronized
用这个关键字修饰方法,就能得到同步方法。
这样一来,计数器类就变成了一个线程安全类。
程序就不会有任何问题了。