实验7

实验任务详情:

完成火车站售票程序的模拟。

要求:

  • (1)总票数1000张;
  • (2)10个窗口同时开始卖票;
  • (3)卖票过程延时1秒钟;
  • (4)不能出现一票多卖或卖出负数号票的情况。

实验过程

package shiyan7;

public class Mythread implements Runnable {
private int ticket = 1000;
public void run() {
for(int i = 0;i < 1000;i ++) {
synchronized(this) {
if(ticket > 0) {
try {
Thread.sleep(1000);
}catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"卖票:"+ticket--);
}
}
}
} } package shiyan7; public class Maipiaoge {
public static void main(String args[]) {
Mythread mp = new Mythread();
for(int i = 1;i < 11;i ++) {
Thread xc[] = new Thread[11];
xc[i] = new Thread(mp,"买票窗口" + i);
xc[i].start();
} } }

实现结果



因等一秒要点时间,所以这个截屏没有等。

实验总结

本次实验让我知道了多线程的作用,并且初步实现了多线程,更加熟练的使用多线程

第九周总结

本周主要学习了,线程的几种状态,线程的操作及其方法,Java的IOName()方法设置线程名字,可以允许线程同名,但应该避免这种事情发生,如果没有设置线程名称那么系统会默认设置一个名字为Thread-Xx。

Java中用isAliva()来判断线程是否启动并且还在运行。

Java中可以用join()方法让一个线程强制运行,并且这个期间,其他线程只能等,不能运行。

用Thread.sleep()让线程休眠,用interrupt()方法中断线程用setDaemon()方法让线程在后台运行。

线程的优先级

但并不是线程的优先级越高,就一定会先执行,那个线程先执行还是由CPU来调度。

线程的礼让,可以用yield()方法将一个线程的操作暂时让给其它线程执行,但并不是一定会让,还是由CPU决定。

JavaIO

file类,与文件本身有关的类,可以用它,新建文件,删除文件等操作。



可以用createNewFile()创建文件,但是windows是反斜杠分隔,linux用正斜杠分隔,所以一般用Java提供的两个常量pathSeparator,setparator

用delete()方法删除文件。exists()判断文件是否存在

用mkdir()方法创建文件夹,用public String[] list():列出全部名称,public File listFiles():列出完整路径。

RandomAccessFile类,对文件内容进行操作。

第九周总结&第七次实验报告的更多相关文章

  1. 第七周总结&第五次实验报告

    学习总结 这周我们加深了对抽象类与接口的学习,获得的知识点也比上周多了许多,抽象类与接口很相似,就比如别人还没有做完的是交给你来做,而他那些样式都做好了,你只需要完善即可 但也有不同点. 区别点 抽象 ...

  2. 2019JAVA第七次实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.10.25 评分等级 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)1 ...

  3. 第六周总结&第四次实验报告

    实验四 类的继承 一. 实验目的 (1) 掌握类的继承方法: (2) 变量的继承和覆盖,方法的继承.重载和覆盖实现: 二. 实验内容 三.实验过程 实验代码 package Shiyan4; publ ...

  4. 第五周总结&第三次实验报告

    实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 实验内容 1.已知字符串:"this is a test of java".按要求执 ...

  5. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  6. 第九周学习总结&实验报告七

    实验报告: 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. 实验 ...

  7. JAVA实验报告及第九周总结

    Java第九周作业 实验报告七 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负 ...

  8. 第七周课程总结 & 实验报告(五)

    第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...

  9. 第七周&实验报告五

    实验四 类的继承 •实验目的 •理解抽象类与接口的使用: •了解包的作用,掌握包的设计方法. •实验要求 •掌握使用抽象类的方法. •掌握使用系统接口的技术和创建自定义接口的方法. •了解 Java ...

随机推荐

  1. gitlab搭建之互备模式

    gitlab搭建之互备模式   gitlab搭建之互备模式 前言:gitlab目前默认的部署方式是本地单机部署,为了提高gitlab环境的可靠性和稳定性,必须构建一套互备搭建方案:借助gitolilt ...

  2. python类库32[多进程同步Lock+Semaphore+Event]

    python类库32[多进程同步Lock+Semaphore+Event]   同步的方法基本与多线程相同. 1) Lock 当多个进程需要访问共享资源的时候,Lock可以用来避免访问的冲突. imp ...

  3. Css min-height max-height min-width max-height

    Css min-height应用地方解释我们有时设置一个对象盒子时候避免对象没有内容时候不能撑开,但内容多少不能确定所以又不能固定高度,这个时候我们就会需要css来设置min-height最小高度撑高 ...

  4. vue项目中监听sessionStorage值发生变化

    首先在main.js中给Vue.protorype注册一个全局方法, 其中,我们约定好了想要监听的sessionStorage的key值为’watchStorage’, 然后创建一个StorageEv ...

  5. ssh复制公钥成功后仍需输入密码

    1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...

  6. Maven手动命令行导入ojdbc6

    Maven项目中导入Oracle的驱动包时,可能会出现像我一样下载资源不成功的情况,如下图所示:  出现这种情况的原因其实是因为Oracle的授权问题,这样的话,我们在需要使用Oracle的驱动包时, ...

  7. PHP+FLASH大文件断点续传功能分享

    1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使 ...

  8. CUDA开发指南

    安装指南:https://blog.csdn.net/qilixuening/article/details/77503631 安装了anaconda不需要安装cuda和cudnn?:https:// ...

  9. 微信小程序登录 code 40029 天坑

    微信登录时 code 大坑(服务端返回如下代码) {"errcode":40029,"errmsg":"invalid code, hints: [ ...

  10. 使用ThreadPoolTaskScheduler动态修改调度时间

    用SchedulingConfigurer接口只能统一修改,要分开控制的话有多少个job就要有多少个实现.比较麻烦 配置线程池ThreadPoolTaskScheduler @Configuratio ...