经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Erlang » 查看文章
java线程锁基础
来源:cnblogs  作者:莹莹祸祸  时间:2019/8/7 8:52:14  对本文有异议
  1. 定义运行方法

    package com.company; // 包名
    import java.util.concurrent.locks.ReentrantLock;
    import java.util.concurrent.locks.Lock;
    public class ticket implements Runnable{
    private int ticketnum = 100; //全局变量
    Lock lock = new ReentrantLock(true); //对象
    @Override
    public void run() { //写 run()
    while (ticketnum > 0){
    lock.lock(); //加锁
    try {
    if (ticketnum > 0){
    try {
    Thread.sleep(100); //工作时间
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    String name = new Thread().currentThread().getName();
    System.out.println("线程"+name+"销售电影票"+ticketnum--);
    }
    }
    finally {
    lock.unlock(); //解锁
    }
    }
    }
    }


    将方法加入到线程中
  1. package com.company;
    import com.company.ticket;
    public class shoupiao {
    public static void main(String[] args) {
    ticket ticket = new ticket();
    Thread thread1 = new Thread(ticket,"窗口1");
    Thread thread2 = new Thread(ticket,"窗口2");
    Thread thread3 = new Thread(ticket,"窗口3");
    thread1.start();
    thread2.start();
    thread3.start();
    }
    }






原文链接:http://www.cnblogs.com/liuwenying/p/11311885.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号