美文网首页
Android 多线程保证操作同步(同步锁的俩种)

Android 多线程保证操作同步(同步锁的俩种)

作者: 皓皓amous | 来源:发表于2021-11-02 14:51 被阅读0次

synchronized这个关键字可以直接加到方法上也可使用synchronized代码块,将需要同步的代码放到这个代码块中,如:

private synchronized void writeLog() {
    for (int i = 0; i < 3; i++) {
        try {
            Log.e(TAG, "showLog: " + Thread.currentThread().getName() + "写入中");
            Thread.sleep(new Random().nextInt(1000));
            Log.e(TAG, "showLog: " + Thread.currentThread().getName() + "写入完成");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

private void readLog() {
    synchronized (this) {
        for (int i = 0; i < 3; i++) {
            try {
                Log.e(TAG, "showLog: " + Thread.currentThread().getName() + "读取中");
                Thread.sleep(new Random().nextInt(1000));
                Log.e(TAG, "showLog: " + Thread.currentThread().getName() + "读取完成");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

相关文章

  • Android 多线程保证操作同步(同步锁的俩种)

    synchronized这个关键字可以直接加到方法上也可使用synchronized代码块,将需要同步的代码放到这...

  • 锁与多线程同步的实现

    Java当中的锁都是为了保证多线程同步执行。如果没有锁的话,多线程是异步执行的。 什么是多线程同步? 请看下面的代...

  • 第5章 Java的锁

    基本概念: 锁:控制多线程并发访问资源;队列同步器:管理同步状态,实现锁;同步状态:同步器的操作对象,int类型;...

  • Android 中的同步

    From: [Android教程] 浅谈Java同步锁(Android中的同步) 多线程应用中,我们往往会对同一对...

  • 起底多线程同步锁(iOS)

    起底多线程同步锁(iOS) 起底多线程同步锁(iOS)

  • 分布式锁

    1、锁: 单进程的系统中,存在多线程同时操作一个公共变量,此时需要加锁对变量进行同步操作,保证多线程的操作线性执行...

  • java多线程相关(1)-synchronized,wait,n

    前言 多线程同步在Android framework源代码中也是相当常见的,这里说明非常简单的多线程同步操作 多线...

  • iOS 锁&线程同步

    为什么要用锁? 为了保证多线程访问一块公共资源时,对资源的保护。或者说是多线程安全 or 线程同步但是线程同步的实...

  • iOS线程同步

    线程同步 提到多线程大家肯定会提到锁,其实真正应该说的是多线程同步,锁只是多线程同步的一部分。 多线程对于数据处理...

  • iOS中的锁

    起底多线程同步锁(iOS) OSSpinLock NSLock NSRecursiveLock 同步 NSCond...

网友评论

      本文标题:Android 多线程保证操作同步(同步锁的俩种)

      本文链接:https://www.haomeiwen.com/subject/zfoxzltx.html