java 多线程 Thread 互斥锁

news/2024/7/24 9:09:30 标签: java, python, 开发语言
java">package com.data.entity;

import java.util.ArrayList;
import java.util.List;

public class MyList {
    public List<Integer> list=new ArrayList<>();

    //同步方法 线程锁
    //public synchronized void  insert(int i){
    public void  insert(int i){
        list.add(i);
    }

    public void query(){
        System.out.println("长度:"+list.size());
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

}
java">import com.data.entity.MyList;

public class text8 {
    public static void main(String[] args)throws Exception {
        MyList m=new MyList();
        Thread t1=new Thread(()->{
            synchronized (m) {   //同步代码块 线程琐
                for (int i = 1; i <= 5; i++) {
                    m.insert(i);
                }
            }
        });
        Thread t2=new Thread(()->{
            synchronized (m) {   //同步代码块 线程琐
                for (int i = 6; i <= 10; i++) {
                    m.insert(i);
                }
            }
        });

        t1.start();
        t2.start();

        t1.join();
        t2.join();

        m.query();
    }
}
区别
  1. 同步方法: 线程执行需要同时争抢时间片和锁标记,写法简单但效率较慢

  2. 同步代码块: 线程只需要争抢时间片, 开启互斥锁的线程默认拥有锁标记, 效率较快但写法相对繁琐


http://www.niftyadmin.cn/n/5182452.html

相关文章

用PHP使用API接口获取虾皮商品详情

作为一名程序员&#xff0c;我们常常需要与各种API接口打交道&#xff0c;以获取我们需要的数据。本文将向您展示如何使用PHP编程语言与虾皮的API接口进行交互&#xff0c;以获取虾皮商品详情。 一、准备工作 在开始编写代码之前&#xff0c;确保您已经完成了以下准备工作&am…

企业传统纸质设备维修方式的痛点以及解决方案

传统的纸质设备维修方式有很多痛点&#xff1a; 数据更新和访问的低效率&#xff1a;传统的纸质记录方法在更新和检索数据时效率极低。这种方式无法实时更新设备的维修状态&#xff0c;导致管理层和维修人员无法及时获取最新信息&#xff0c;影响决策的速度和质量。 记录的易…

源码编译后kamcmd命令不能自动补全

apt install -y libreadline-dev 重新编译kamcmd即可 参考 源码目录\pkg\kamailio\deb\bullseye\control 英文应该怎样描述&#xff1a; kamcmd autocompletion not working

软考高级职称哪个好考?明确给你答案

软考考试分为初、中、高三级&#xff0c;其中高级5个方向分别为系统分析师、信息系统项目管理师、网络规划设计师、系统架构设计师、系统规划与管理师。软考高级职称考什么好&#xff1f;有很多人是因为要评高级职称而选择参考软考高级资格考试&#xff0c;那么软考高级里哪个资…

【问题思考总结】第一型曲线积分和第二型曲线积分的区别与联系【从几何知识的角度思考】

此处为曲面积分------>第一型曲面积分的第二型曲面积分的区别与联系【从几何知识的角度思考】 问题 在做题的时候&#xff0c;我发现&#xff0c;关于这方面的知识有很多很多&#xff0c;但是每道题的解法不尽相似&#xff0c;也没有什么具体的体系&#xff0c;尤其是在结…

如何准备2024年的系统设计面试?

1 前言 如果你正在准备软件工程师或软件开发人员的面试,那么你可能知道由于其开放性质和广泛性,准备系统设计是多么困难,但同时你也不能忽略它。在软件工程界,如果你正在申请高级工程师/主管/架构师或更高级别的角色,系统设计是最受追捧的技能,也是整个过程中最重要的环节之一…

米家扩展程序打开第三方应用

米家扩展程序打开第三方应用 - 飞书云文档 (mioffice.cn) 米家扩展程序打开第三方应用 import { Host } from miot;import logger from ../../../utils/logger;const noop undefined; /*** 打开第三方应用。如手机未安装应用将会跳转应用市场。* param schema {string} See: …

大数据清洗、转换工具——ETL工具概述

大数据清洗、转换工具——ETL工具概述_etl转换-CSDN博客 ETL&#xff0c;是英文 Extract-Transform-Load 的缩写&#xff0c;用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL过程本质上是数据流动的过程&#xff0c;从不同的数据源…