火车买票案例之用sleep模拟网络延时

阅读: 评论:0

火车买票案例之用sleep模拟网络延时

火车买票案例之用sleep模拟网络延时

Sleep:sleep:每个对象都有一把锁,sleep不会释放锁

  • 不建议使用jdk不推荐的方法,如stop,destroy等.

  • 道德问题很重要:德治


多个线程同时争抢一个对象

火车买票:模拟网络延时,放大问题的发生性.

package com.li.changGe.multithreading.threadState;SimpleDateFormat;
import java.util.Date;public class SleepDemo01 implements Runnable{private static boolean flag = true;private static int num = 100;public static void main(String[] args) {SleepDemo01 sleepDemo01 = new SleepDemo01();new Thread(sleepDemo01,"学生").start();new Thread(sleepDemo01,"老师").start();new Thread(sleepDemo01,"黄牛党").start();/*** 电脑很快,到达停止条件时改变标识符来停止线程*/for (int i = 0; i < 100000; i++) {if(i == 90000){System.out.println("可以停止了");sleepDemo01.stop();}}}/*** 获得当前时间并转换格式*/public String getCurrentTime(){Date data = new Date(System.currentTimeMillis());String format = new SimpleDateFormat("HH:mm:dd").format(data);return format;}/*** 火车买票:模拟网络延时,放大问题的发生性.** 多个线程同时争抢一个对象*/@Overridepublic void run() {while(flag){System.out.println(getCurrentTime()+Thread.currentThread().getName()+"买到第"+ num-- +"张票");try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}}/*** 建议使用外部标识符来停止线程*/public void stop(){flag = false;}}

本文发布于:2024-02-03 00:16:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170689057847401.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:之用   买票   案例   火车   网络
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23