Java常见的面试算法题:实现两个线程交替打印1到100的数

  • 思路

这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例。

  • 代码实现
package Test;public class DoubleThreadPrint {public static int count = 0;public static class MyPrint extends Thread{//定义一个整型变量来标识线程int index;public MyPrint(int index){this.index = index;}//重写run方法@Overridepublic void run() {//获取锁synchronized (""){while(count < 100){try {if(count % 2 == index - 1){System.out.println((index - 1) + "线程打印值为:" + (count + 1));count++;"".notifyAll();}//释放锁"".wait();}catch (InterruptedException e){e.printStackTrace();}}}}}public static void main(String[] args) {Thread t1 = new MyPrint(1);Thread t2 = new MyPrint(2);t1.start();t2.start();}
}
  • 运行结果

Java常见的面试算法题:实现两个线程交替打印1到100的数相关推荐

  1. 常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可)

    常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可) 比较典型的题目,如下有: 题目一: 1.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...

  2. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?

    很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...

  3. 互联网公司最常见的面试算法题大集合!

      转载于 新智元   来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...

  4. 使用Java线程并发库实现两个线程交替打印的线程题

    背景:是这样的今天在地铁上浏览了以下网页,看到网上一朋友问了一个多线程的问题.晚上闲着没事就决定把它实现出来. 题目: 1.开启两个线程,一个线程打印A-Z,两一个线程打印1-52的数据. 2.实现交 ...

  5. java go多线程:两个线程交替打印 0~100 的奇偶数

    最近在实现raft算法,用到了很多go的高并发的知识,看到一道题写两个线程交替打印 1~100 的奇偶数,突然来了兴趣. 题目要求我们要启动两个线程,一个打印奇数,一个打印偶数.中途不能跳出协程. 代 ...

  6. Java两个线程交替打印奇偶数(两种方法对比)

    简介 本文将承接文章<Java多线程wait()和notify()系列方法使用教程>,我们将通过"两个线程交替打印100内的奇偶数",来展示下wait()方法和noti ...

  7. java让两个线程交替_java两个线程实现: 两个线程交替打印字母和数

    两个线程交替打印字母和数字: 1A2B3C4D5E6F7G public class LockConditionTest { public static void main(String[] args ...

  8. 线程打印_面试题:用程序实现两个线程交替打印 0~100 的奇偶数

    作者:dadiyang来源:https://blog.csdn.net/dadiyang/article/details/88315124 面试场景 面试官:Java多线程了解吗?你给我写一下,起两个 ...

  9. 如何让两个线程交替打印整数1-100?你的答案呢?

    前端时间下班临走前看到同事做尝试的一个题目:如何让两个线程交替打印整数1-100? 好几年没有写代码玩了,想了想,花了十多分钟写了个答案: #include<stdio.h> #inclu ...

最新文章

  1. Unable to instantiate Action, MenuAction, defined for 'QueryMenuAll' in namespace '/'MenuAction
  2. GraphQL 初探—面向未来 API 及其生态圈
  3. Android studio2.3.1 更新以后Error:Failed to open zip file. Gradle's dependency cache may be corrupt
  4. Python 核心编程(第二版)——条件和循环
  5. H264 编码+打包+解码相关知识
  6. Vue.js总结 [2017.6.5]
  7. 国科大杨力祥老师操作系统答案总结
  8. t450加固态硬盘教程_联想thinkpad笔记本t450s拆机加装固态硬盘及内存图解
  9. 我科学家研制“龙虾壳”新型仿生材料
  10. 输入一个字符串,判断它的所有字符中否全部是大写字母,如不是,统计小写字母个数,并将其转换成大写字母后输出
  11. 路由器当交换机用,应该怎样配置?
  12. 区分电角度和机械角度
  13. 4-6:关注列表,粉丝列表
  14. 反调试技巧总结-原理和实现
  15. JAVA题目~分数类Fraction Exp03-4
  16. Spring Cloud--Sleuth+Zipkin 链路跟踪/订单的流量削峰
  17. 微服务治理之分布式链路追踪--3.zipkin实战
  18. 青语易呼电销机器人源码独立部署搭建步骤
  19. matlab数据格式转换
  20. 认清阿里的数据库产品

热门文章

  1. Redis6.0新版本开始引入多线程,到底改善了什么
  2. iOS网络缓存扫盲篇
  3. html用JQuery自定义表单验证。
  4. redis缓存失效时间设为多少_java操作Redis缓存设置过期时间的方法
  5. c语言结构体反射解析,C语言结构体解析
  6. pythonpandas用sql查询数据表_python pandas read_sql_query使用记录
  7. android md日期选择器,移动端日期选择
  8. linux redis ruby,redisrequiresrubyversion2.2.2的解决方案
  9. 【c语言】字符串逆序
  10. 【c语言】蓝桥杯算法训练 平方计算