首页 > 其他分享 >线程安全_同步方法

线程安全_同步方法

时间:2023-03-13 10:55:56浏览次数:37  
标签:同步 synchronized 代码 安全 线程 ticket 方法 public

同步方法就是把synchronized加到方法上。

格式:修饰符 synchronized 返回值类型 方法名(形式参数){ }

同步代码块和同步方法的区别:

  1、同步代码块可以锁住指定代码。同步方法是锁住方法中所有代码;

  2、同步代码块可以指定锁对象,同步方法不能指定锁对象,同步方法的锁对象是this。

静态同步方法格式:修饰符 static synchronized 返回值类型 方法名(形式参数){ },静态同步方法因为没有this,所以它的锁对象是类名.class,实际上就是这个类的class文件的对象

public class MyRunnable implements Runnable {

    private static int ticket = 100;

    @Override
    public void run() {
        while (true) {
            boolean result = method();
            if (result)
                System.out.println("票卖完了");
        }
    }

    public synchronized boolean method() {

        if (ticket == 0)
            return true;

        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        ticket--;
        System.out.println(Thread.currentThread().getName() + "卖票了,还剩" + ticket + "张票");
        return false;
    }
}

 

标签:同步,synchronized,代码,安全,线程,ticket,方法,public
From: https://www.cnblogs.com/weiduaini/p/17210582.html

相关文章

  • 02_系统安全试验
    02_系统安全试验.md《信息安全综合实践》实验报告系统安全姓名:陈洋学号:521021911061邮箱:[email protected]实验时长:分......
  • 多线程结合自定义logback日志实现简单的工单日志输出
    前言这周学习了logback自定义日志格式、多线程基础、以及常见的定时器,本篇博客主要是结合以上知识实现一个简单的定时全部工单输出任务,再通过自定义的日志打印输出到......
  • JS_0074:new Promise await 等待后执行,同步加载 加载threejs 加载字体
    1,一,使用TextGeometry创建3D文字1.需加载字体配合使用,使用THREE.FontLoader//加载字体loadFont(){returnnewPromise(function(resolve,reject)......
  • linux时间同步,ntpd、ntpdate
    linux时间同步,ntpd、ntpdate在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系......
  • 总结linux安全模型
    1.总结linux安全模型①用户登录系统时必须提供用户名和密码。②使用用户和用户组来控制使用者访问文件和其他资源的权限。③系统上的每一个文件都一定属于一个用户(一般......
  • P1131 [ZJOI2007] 时态同步
    P1131[ZJOI2007]时态同步-洛谷|计算机科学教育新生态(luogu.com.cn)这更多是一个思维题   看到上面这副图,我们的想法是先让1→2和1→3拉伸到1→4的深度,再......
  • 网络安全(中职组)-B模块:服务远程控制
    任务四:服务远程控制任务环境说明:服务器场景名:20200609(关闭链接)服务器场景操作系统:未知服务器场景用户名:root服务器场景密码:Admin1231.   通过本地PC中渗透测试平台Kal......
  • Linux用户以及ssh安全相关设置
    Linux用户相关操作摘要最近重保,需要进行网络安全防护.部分同事处理过程总是顺序有一些不太对的情况.同时发现自对Linux用户设置也存在很多不清不楚的地方所以趁着......
  • 网络安全(中职组)-B模块:Web隐藏信息获取
    Web隐藏信息获取任务环境说明:服务器场景名:web20200604服务器场景用户名:未知(关闭链接)1.   通过本地PC中渗透测试平台Kali使用Nmap扫描目标靶机HTTP服务子目录,将扫描子......
  • 线程休眠、线程优先级、守护线程
    publicclassThreadDemo{//线程调度分为两种:分时调度模型和抢占式调度模型//分时调度模型:所以线程轮流使用cpu,平均分配每个线程使用cpu的时间//抢占......