博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多线程优先级及同步
阅读量:6413 次
发布时间:2019-06-23

本文共 1515 字,大约阅读时间需要 5 分钟。

6、线程的优先级
  Thread.MIN_PRIORITY = 1
  Thread.NORM_PRIORITY = 5
  Thread.MAX_PRIORITY = 10
7、线程同步
  ①使用同步代码块
    

public class ThreadDemo {

  public static void main(String[] args) {

    MyThread thread1=new MyThread();

    new Thread(thread1).start();

    new Thread(thread1).start();

    new Thread(thread1).start();

    new Thread(thread1).start();

  }

}

class MyThread implements Runnable{

  private int ticket=5;

  public MyThread(){

  }

public void run(){

    for(int i=0;i<100;i++){

      synchronized (this) {

        if(ticket>0){

        try {

        Thread.sleep(1000);

        } catch (InterruptedException e) {

        e.printStackTrace();

        }

    System.out.println("卖出了第"+ticket--+"张票");

        }

    }

  }

  }

}

  ②使用同步方法

public class ThreadDemo {

    public static void main(String[] args) {

      MyThread thread1=new MyThread();

      new Thread(thread1).start();

      new Thread(thread1).start();

      new Thread(thread1).start();

      new Thread(thread1).start();

    }

}

class MyThread implements Runnable{

    private int ticket=5;

    public void run(){

      for(int i=0;i<100;i++){

      this.sale();

    }

}

public synchronized void sale(){

    if(ticket>0){

    try {

    Thread.sleep(1000);

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    System.out.println("卖出了第"+ticket--+"张票");

    }

  }

}

8、wait 和 sleep 比较

  ①wait别的线程可以访问锁定对象,它是Object类的方法,注意:调用wait方法的时候必须锁定该对象

  ②sleep时别的线程不可以访问锁定对象,它是Thread类的方法

转载于:https://www.cnblogs.com/rrb520/p/5272417.html

你可能感兴趣的文章
支持向量机SVM(二)
查看>>
自然语言处理研发工程师
查看>>
http head 详解
查看>>
我的友情链接
查看>>
Django XSS***
查看>>
NAS之mysql高可用解决方案
查看>>
FastDFS使用实战
查看>>
Mysql并发控制
查看>>
软件界面的美观性及易用性方面的用例
查看>>
远程管理工具命令应用
查看>>
算法总结
查看>>
struts2 counter循环标签在分页中的使用
查看>>
ospf
查看>>
使用vsftpd服务传输文件(匿名用户认证、本地用户认证、虚拟用户认证)
查看>>
Centos下使用系统镜像ISO作为yum源
查看>>
ASP.NET MVC中三方登录: 微软、谷歌、Office365
查看>>
使用Xshell连接远程CentOS服务器
查看>>
2.DHCP服务
查看>>
「实战篇」开源项目docker化运维部署-开篇(一)
查看>>
Oracle 实验 --- 撤销具有GRANT OPTION 的对象权限
查看>>