Java常见的面试算法题:实现两个线程交替打印1到100的数
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.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...
- 力扣高频算法php_互联网公司最常见的面试算法题有哪些?
很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...
- 互联网公司最常见的面试算法题大集合!
转载于 新智元 来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...
- 使用Java线程并发库实现两个线程交替打印的线程题
背景:是这样的今天在地铁上浏览了以下网页,看到网上一朋友问了一个多线程的问题.晚上闲着没事就决定把它实现出来. 题目: 1.开启两个线程,一个线程打印A-Z,两一个线程打印1-52的数据. 2.实现交 ...
- java go多线程:两个线程交替打印 0~100 的奇偶数
最近在实现raft算法,用到了很多go的高并发的知识,看到一道题写两个线程交替打印 1~100 的奇偶数,突然来了兴趣. 题目要求我们要启动两个线程,一个打印奇数,一个打印偶数.中途不能跳出协程. 代 ...
- Java两个线程交替打印奇偶数(两种方法对比)
简介 本文将承接文章<Java多线程wait()和notify()系列方法使用教程>,我们将通过"两个线程交替打印100内的奇偶数",来展示下wait()方法和noti ...
- java让两个线程交替_java两个线程实现: 两个线程交替打印字母和数
两个线程交替打印字母和数字: 1A2B3C4D5E6F7G public class LockConditionTest { public static void main(String[] args ...
- 线程打印_面试题:用程序实现两个线程交替打印 0~100 的奇偶数
作者:dadiyang来源:https://blog.csdn.net/dadiyang/article/details/88315124 面试场景 面试官:Java多线程了解吗?你给我写一下,起两个 ...
- 如何让两个线程交替打印整数1-100?你的答案呢?
前端时间下班临走前看到同事做尝试的一个题目:如何让两个线程交替打印整数1-100? 好几年没有写代码玩了,想了想,花了十多分钟写了个答案: #include<stdio.h> #inclu ...
最新文章
- Unable to instantiate Action, MenuAction, defined for 'QueryMenuAll' in namespace '/'MenuAction
- GraphQL 初探—面向未来 API 及其生态圈
- Android studio2.3.1 更新以后Error:Failed to open zip file. Gradle's dependency cache may be corrupt
- Python 核心编程(第二版)——条件和循环
- H264 编码+打包+解码相关知识
- Vue.js总结 [2017.6.5]
- 国科大杨力祥老师操作系统答案总结
- t450加固态硬盘教程_联想thinkpad笔记本t450s拆机加装固态硬盘及内存图解
- 我科学家研制“龙虾壳”新型仿生材料
- 输入一个字符串,判断它的所有字符中否全部是大写字母,如不是,统计小写字母个数,并将其转换成大写字母后输出
- 路由器当交换机用,应该怎样配置?
- 区分电角度和机械角度
- 4-6:关注列表,粉丝列表
- 反调试技巧总结-原理和实现
- JAVA题目~分数类Fraction Exp03-4
- Spring Cloud--Sleuth+Zipkin 链路跟踪/订单的流量削峰
- 微服务治理之分布式链路追踪--3.zipkin实战
- 青语易呼电销机器人源码独立部署搭建步骤
- matlab数据格式转换
- 认清阿里的数据库产品
热门文章
- Redis6.0新版本开始引入多线程,到底改善了什么
- iOS网络缓存扫盲篇
- html用JQuery自定义表单验证。
- redis缓存失效时间设为多少_java操作Redis缓存设置过期时间的方法
- c语言结构体反射解析,C语言结构体解析
- pythonpandas用sql查询数据表_python pandas read_sql_query使用记录
- android md日期选择器,移动端日期选择
- linux redis ruby,redisrequiresrubyversion2.2.2的解决方案
- 【c语言】字符串逆序
- 【c语言】蓝桥杯算法训练 平方计算