Java多线程电影院_java 多线程-快乐订座电影院
java 多线程-快乐订座电影院
public class test{
public static void main(String[]args)
{
//可用位置
List available =new ArrayList();
available.add(1);
available.add(2);
available.add(3);
available.add(4);
available.add(5);
available.add(6);
available.add(7);
//顾客位置
List seats1=new ArrayList();
seats1.add(1);
seats1.add(2);
List seats2=new ArrayList();
seats2.add(4);
seats2.add(5);
seats2.add(6);
Cinema c=new Cinema(available,"happy");
new Thread(new customer(c,seats1),"me").start();
new Thread(new customer(c,seats2),"she").start();
}
}
class Cinema{
List available; //可用位置
String name;
public Cinema(List available,String name)
{
this.available=available;
this.name=name;
}
public boolean bookticks(List seats)
{
System.out.println("可用位置:"+available);
List copy=new ArrayList();
copy.addAll(available);
//去掉两个容器相同的元素
copy.removeAll(seats);
//判断是否选位置成功
if(available.size()-copy.size()!=seats.size())
{
return false;
}
else
{
available=copy;
}
return true;
}
}
class customer implements Runnable{
Cinema cinema; //哪个影院
Listseats; //多少个位置
public customer(Cinema cinema,List seats)
{
this.cinema=cinema;
this.seats=seats;
}
public void run()
{
synchronized(cinema) { //锁影院
boolean flag=cinema.bookticks(seats);
if(flag)
{
System.out.println("出票成功"+Thread.currentThread().getName()+"位置:"+seats);
}else
{
System.out.println("出票失败"+Thread.currentThread().getName()+"位置不够");
}
}
}
}
©著作权归作者所有:来自51CTO博客作者wx5d21d5e6e5ab1的原创作品,如需转载,请注明出处,否则将追究法律责任
Java多线程电影院_java 多线程-快乐订座电影院相关推荐
- java线程钥匙_Java多线程并发编程/锁的理解
一.前言 最近项目遇到多线程并发的情景(并发抢单&恢复库存并行),代码在正常情况下运行没有什么问题,在高并发压测下会出现:库存超发/总库存与sku库存对不上等各种问题. 在运用了 限流/加锁等 ...
- java线程 教程_Java多线程系列教程
Java多线程系列教程 多线程是Java中不可避免的一个重要主体.从本章开始,我们将展开对多线程的学习.接下来的内容是对Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), n ...
- java 多线程 总结_Java 多线程总结
昨天熬了个通宵,看了一晚上的视频,把java 的多线程相关技术重新复习了一遍,下面对学习过程中遇到的知识点进行下总结. 首先我们先来了解一下进程.线程.并发执行的概念: 进程是指:一个内存中运行的应用 ...
- java线程入门_java多线程快速入门(一)
1.什么是进程 比如:QQ.QQ游戏.eclipse都是进程,可以通过任务管理器查看进程 2.进程和线程区别 线程是进程的一部分,一个进程可以包含多个线程,一个线程只能属于一个进程 进程是所有线程的集 ...
- java 高效的多线程同步_java多线程的同步和异步
java多线程的同步和异步 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算 ...
- java的多线程机制_Java多线程开发(一)| 基本的线程机制
0. 前言 Java 为了实现跨平台,在语言层面上实现了多线程.我们只需要熟悉 Java 这一套多线程机制就行了,比 C/C++ 要容易多了. 1. 定义任务 我们编写程序,最终是为了完成特定的任务. ...
- java线程设计模式_JAVA多线程设计模式
漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何 ...
- java 多线程 进程_Java多线程1:进程与线程概述
进程和线程 谈到多线程,就得先讲进程和线程的概念. 进程 进程可以理解为受操作系统管理的基本运行单元.360浏览器是一个进程.WPS也是一个进程,正在操作系统中运行的".exe"都 ...
- java闭合数据_java多线程中线程封闭详解
线程封闭的概念 访问共享变量时,通常要使用同步,所以避免使用同步的方法就是减少共享数据的使用,这种技术就是线程封闭. 实现线程封闭的方法 1:ad-hoc线程封闭 这是完全靠实现者控制的线程封闭,他的 ...
- java线程 打印_java多线程实现 5秒一次打印当前时间
import javax.swing.JLabel; import java.util.Date; public class Time extends JFrame implements Runnab ...
最新文章
- layui文本框填充值_layui框架常用输入框介绍
- 怎么样给ajax的ulr加密,研究Ajax请求受登录保护的URL的优雅解决
- linux 网络7层模型,Linux网络编程——OSI七层模型、TCP/IP模型
- golang go 语言在 window下执行命令 获取本地ip
- CentOS远程监控
- spring-boot-starter-parent 包maven依赖报错
- 网络综合实验结课总结
- 搭建机器人电控系统——什么是单片机MCU?如何选择单片机?
- 6 二十五项反措--防止锅炉事故
- 复制文件夹 omitting directory
- HDUOJ 5651 xiaoxin juju needs help
- 喜欢计算机专业的理由英语,计算机专业的英文自我介绍
- 判断满足条件的三位数
- SYN6288中文语音合成 程序
- TPAMI 2022 | 金字塔池化的骨干网络,各大任务都涨点!南开达摩院联合推出P2T
- 禁止暴风影音的自动升级的方法
- 可以高度定制的代理服务器anyproxy
- docker可视化管理工具
- iOS Xcode必备插件
- “操作系统的「冷板凳」要坐多久?”万字长文解读11年开源人的坚持
热门文章
- pe系统如何读取手机_pe系统没有连接手机的驱动怎么办
- avast android高级版,排名第一 Android杀毒软件avast!评测
- Android CompoundButton
- 数据结构试卷及答案(一)
- 常见的重要电脑英语及缩写
- 腾讯悄悄地发布了Linux版QQ-附安装-卸载方法
- Kali Linux上安装QQ等Windows应用
- java试题库管理系统源代码_题库聚合源码_有没有人有试题库管理系统的源代码啊基于java web的_淘题吧...
- log4cplus指南
- 背包问题九讲笔记-01背包问题