当前位置: 首页 > news >正文

自己名下备案的网站免费推广引流软件

自己名下备案的网站,免费推广引流软件,江苏高端网站建设,2021国内最好用免费建站系统不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 文章目录 🌴前言🌴一、卖电影票1.题目2.分析3.代码 🌴二、送礼物1. 题目2. 分析3.代码 🌴三.打印奇数1. 题目2.…

不爱生姜不吃醋⭐️
如果本文有什么错误的话欢迎在评论区中指正
与其明天开始,不如现在行动!

文章目录

  • 🌴前言
  • 🌴一、卖电影票
    • 1.题目
    • 2.分析
    • 3.代码
  • 🌴二、送礼物
    • 1. 题目
    • 2. 分析
    • 3.代码
  • 🌴三.打印奇数
    • 1. 题目
    • 2. 分析
    • 3.代码
  • 🌴四.抢红包
    • 1. 题目
    • 2. 分析
    • 3.代码
  • 🌴五.抽奖
    • 1. 题目
    • 2. 分析
    • 3.代码
  • 🌴总结


🌴前言

为了能够对多线程方面有一个更加深入和全面的了解,做五道多线程相关的题目,其中1-3简单,4-5题需要在方法上有些改进。


🌴一、卖电影票

1.题目

一共1000张电影票,有两个窗口在卖,每次卖票的时间为3000毫秒,要求:用多线程模拟卖票的过程并打印剩余电影票的数量。

2.分析

题目较为简单,用Thread多线程完成。

3.代码

自己定义一个类

public class MyThread extends Thread{static int ticket = 1000;@Overridepublic void run() {while (true){synchronized (MyThread.class){if (ticket == 0){break;}try {sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}ticket--;System.out.println(getName()+"正在卖票,还剩余"+ticket+"张票!");}}}
}

启动线程

public class Demo {public static void main(String[] args) {MyThread mt1 = new MyThread();MyThread mt2 = new MyThread();mt1.setName("窗口一");mt2.setName("窗口二");mt1.start();mt2.start();}
}

🌴二、送礼物

1. 题目

有100份礼物,由两个人同时发,当剩下的礼品小于10份的时候就停止发放,利用多线程模拟该过程并将线程的名字个礼物的剩余数量打印出来。

2. 分析

思路同题目一

3.代码

自己定义一个类

public class MyThread extends Thread{static int gift = 10000;@Overridepublic void run() {while (true) {synchronized (MyThread.class) {if (gift < 10) {break;}gift--;System.out.println(getName()+"正在发礼物,还剩余"+gift+"件礼物!");}}}
}

启动线程

public class Demo {public static void main(String[] args) {MyThread t1 = new MyThread();MyThread t2 = new MyThread();t1.setName("同学甲");t2.setName("同学乙");t1.start();t2.start();}
}

🌴三.打印奇数

1. 题目

同时开启两个线程,共同获取1-100之间的所有数字,要求:将输出所有的奇数。

2. 分析

思路同题目一

3.代码

自己定义一个类

public class MyThread extends Thread {static int num = 1;@Overridepublic void run() {while (true) {synchronized (MyThread.class) {if (num == 100) {break;}if (num % 2 != 0) {System.out.println("当前是线程"+getName()+"正在输出,数字:"+num);}num++;}}}
}

启动线程

public class Demo {public static void main(String[] args) {MyThread t1 = new MyThread();MyThread t2 = new MyThread();t1.setName("线程1");t2.setName("线程2");t1.start();t2.start();}
}

🌴四.抢红包

1. 题目

假设有100块被分成了3个红包,有五个人去抢。打印结果:
XXX抢到了XX元
XXX抢到了X元
X没抢到

2. 分析

其中,红包是共享数据,五个人是五条线程。

3.代码

自己定义一个类

public class MyThread extends Thread {static int money = 100;static int count = 3;static final int MIN = 1;@Overridepublic void run() {synchronized (MyThread.class) {int prize = 0;if (count == 0) {System.out.println(getName() + "没抢到!");} else {if (count == 1) {prize = money;} else {Random r = new Random();int bounds = money - (count - 1) * MIN + 1;prize = r.nextInt(bounds);}money -= prize;count--;System.out.println(getName() + "抢到" + prize + "元!");}}}
}

启动线程来抢红包

public class Demo {public static void main(String[] args) {MyThread t1 = new MyThread();MyThread t2 = new MyThread();MyThread t3 = new MyThread();MyThread t4 = new MyThread();MyThread t5 = new MyThread();t1.setName("小明");t2.setName("小红");t3.setName("小李");t4.setName("小强");t5.setName("小风");t1.start();t2.start();t3.start();t4.start();t5.start();}
}

🌴五.抽奖

1. 题目

有两个抽奖箱存放了奖励金额且奖励金额不重复,分别为:2,5,10,20,50,80,100,200,500,700,800。
如果有人抽中奖,那么就把抽中的奖项显示出来,例如:
抽奖箱1产生了10元奖励
抽奖箱2产生了200元奖励
抽奖箱1产生了800元奖励

2. 分析

两个抽奖箱是两个线程,随机抽取打印

3.代码

定义一个类

public class MyThread extends Thread{ArrayList<Integer> list = new ArrayList<>();public MyThread(ArrayList<Integer> list) {this.list = list;}@Overridepublic void run() {while (true) {synchronized (MyThread.class) {if (list.size() == 0) {break;}Collections.shuffle(list);Integer prize = list.remove(0);System.out.println(getName()+"产生了"+prize+"元大奖!");try {sleep(100);} catch (InterruptedException e) {throw new RuntimeException(e);}}}}
}

启动线程

public class Demo {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<>();Collections.addAll(list,2,5,10,20,50,80,100,200,500,700,800);MyThread t1 = new MyThread(list);MyThread t2 = new MyThread(list);t1.setName("奖箱1");t2.setName("奖箱2");t1.start();t2.start();}
}

🌴总结

文章中代码的编写使用的都是Java多线程和集合方面的知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


http://www.yayakq.cn/news/993170/

相关文章:

  • 厦门网站设计公司排名微信服务市场
  • 中国电信网站备案上海做家教网站有哪些
  • 个人网站制作模板主页企业邮箱什么意思
  • 网站建设职员张家港网站建设做网站
  • 企业网络搭建服务大连seo优化
  • 主流网站建设技术黄村做网站的公司
  • 婚礼工作室网站模板关键词搜索广告
  • 网站建设免费模版英文网站备案
  • wordpress电影站数据下载晋江企业网站建设
  • 合肥网站到首页排名网站开发技术要学什么软件
  • 优秀音乐网站设计欣赏网站服务对生活的影响
  • 太仓网站建设太仓凯里网站建设
  • 敦煌网站做外贸怎样济南模板网站
  • 怎么建设展示网站 需要维护费吗电子商务网站建设与管理实训总结
  • 怎样更新网站网络服务包括
  • 公司网站费用怎么做会计分录wordpress批量导入文章cvs
  • 建设执业资格管理中心网站晋江是哪个省的城市
  • 济南网站建设市场wordpress无法预览
  • 手机网站建设动态网站建设的主要结构
  • 济南网站制作套餐珠海网站制作价格
  • 怎么用wordpress打开网站美妆网站建设方案
  • 黄江二手车东莞网站建设山西企业模板建站信息
  • php网站开发遇到的问题哈尔滨建站系统报价
  • 受欢迎的句容网站建设医疗网站建设及优化方案
  • 做网站多少流量可以做广告wordpress 值得买主题
  • ipv6地址可以做网站吗自己做网站用软件下载
  • 企业网站建设国内外差异以星空做的网站模板
  • 在那些网站上做企业宣传好提供温州手机网站制作哪家便宜
  • 有源码如何搭建网站网站建设费算不算固定资产
  • 甘肃建设项目审批权限网站西安到成都