51信用卡多线程编程题,处理200000字符串包含指定元素问题
来源:互联网 发布:真空助勃器 知乎 编辑:程序博客网 时间:2024/06/16 14:37
1、问题描述:
输入200000行字符串,用3个线程找出其中包含u51的字符串个数。
2、解题思路:
用Runnable实现多线程,将输入值放入集合,线程请求集合锁,申请成功后进行remove操作避免重复计算。
3、代码实现:
package cn.xaut.xinyongka;import java.util.LinkedList;import java.util.Scanner;import java.util.concurrent.atomic.AtomicInteger;public class Main2 {static AtomicInteger count = new AtomicInteger(0);public static void main(String[] args) { Scanner in = new Scanner(System.in); LinkedList<String> ioc = new LinkedList<>(); while(in.hasNext()){ ioc.add(in.nextLine()); } Thread t1 =new Thread(new Check(ioc));Thread t2 =new Thread(new Check(ioc));Thread t3 =new Thread(new Check(ioc));t1.start();t2.start();t3.start(); try {t1.join();t2.join();t3.join();} catch (InterruptedException e) {e.printStackTrace();} System.out.println(count); }}class Check implements Runnable {LinkedList<String> ioc;public Check (LinkedList<String> ioc) {this.ioc = ioc;}@Overridepublic void run () {while (!ioc.isEmpty()) {synchronized (ioc) {if (!ioc.isEmpty()) {String str = ioc.removeFirst();if (str.contains("u51")) {Main2.count.getAndIncrement();}}}}}}
阅读全文
0 0
- 51信用卡多线程编程题,处理200000字符串包含指定元素问题
- JQ检测字符串是否包含指定元素
- 编程之类 字符串包含问题
- 编程之美---->字符串移位包含问题
- 程序员编程艺术--2、字符串包含问题
- jquery 包含指定元素选择
- 字符串中包含指定字符串
- 第十题 字符串包含问题
- 字符串处理面试题_字符串包含问题
- 19:字符串移位包含问题(1.7编程基础之字符串)
- 字符串处理------包含
- 字符串处理编程题
- 51信用卡编程题,按大小写字母和数字排序
- 51信用卡2018校园招聘编程题学习
- 51信用卡的面试问题
- 判断字符串是否包含指定的字符串
- ios 判断字符串是否包含指定字符串
- 《编程之美3.1:字符串移位包含问题》
- 文字转语音地址
- 洛谷 P2423 双塔
- 第三周【项目1
- Linux下批量添加用户的脚本三种方法
- 接口基础(一)
- 51信用卡多线程编程题,处理200000字符串包含指定元素问题
- C++头文件如何书写
- Java Collection toArray方法
- Android应用网络限制功能实现
- exp/imp 与 expdp/impdp 对比 及使用中的一些优化事项
- Android底部弹窗的正确打开方式
- oracle之表的数据类型
- 不定方程求特解
- 算法学习之动态规划--数字三角形最大路径和