理解并解决Java并发问题:线程安全示例

原创 àì夳堔傛蜴生んèń 2024-09-24 11:51 209阅读 0赞

在Java中,线程安全通常是指一个代码块无论被多少个线程同时访问,都能保证数据的正确性。

以下是一个简单的线程安全示例,我们将创建一个计数器类,它有两个方法,一个用于增加计数,另一个用于获取当前计数值。我们确保这两个方法在任何时候对计数的影响都是可见的。

  1. public class Counter {
  2. private int count;
  3. public synchronized void increment() {
  4. count++;
  5. }
  6. public synchronized int decrement() {
  7. if (count > 0) {
  8. count--;
  9. return count;
  10. } else {
  11. throw new IllegalArgumentException("Counter is already zero");
  12. }
  13. }
  14. public synchronized int getCount() {
  15. return count;
  16. }
  17. }

在这个例子中,我们使用了Java的synchronized关键字来保证方法的原子性。这意味着在任何给定的时间点,只有一个线程可以访问该方法。这样就保证了计数器在多线程环境下的正确性。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,209人围观)

还没有评论,来说两句吧...

相关阅读