java线程在什么时候结束,java – 什么时候线程超出范围?
我编写了一个程序,可以在文本中计算行,字和字符:它使用线程执行此操作.它有时候很好,但是其他时候不是很好.最终发生的事情是指向字数和变数的变量有时候会变短,有时候不会.
在我看来,线程有时会结束,然后才能对所有想要的单词或字符进行计数.是因为当while(true)循环中断时,这些线程超出范围?
我已经从我的问题的一部分中包含了代码:
private void countText() {
try {
reader = new BufferedReader(new FileReader("this.txt"));
while (true) {
final String line = reader.readLine();
if(line == null) {break;}
lines++;
new Thread(new Runnable() {public void run() {chars += characterCounter(line);}}).start();
new Thread(new Runnable() {public void run() {words += wordCounter(line);}}).start();
println(line);
}
} catch(IOException ex) {return;}
}
(子问题:这是我第一次询问某些东西和发布的代码,我不想使用StackOverflow代替谷歌和维基百科,我担心这不是一个适当的问题,我试图使问题更一般,所以我不只是要求帮助我的代码…但是,另一个网站,这种问题可能更适合?)
java线程在什么时候结束,java – 什么时候线程超出范围?相关推荐
- JAVA的多线程、死锁、线程间通信、如何规避死锁、线程安全的单例模式
主要内容: 多线程 线程和进程间的关系 Java中的线程理论 Java中线程类的实现方式 Java中线程的常用方法 线程安全性问题 线程间通信 线程的死锁 如何规避死锁 线程安全的单例模式 多线程 线 ...
- java 手编线程池_死磕 java线程系列之自己动手写一个线程池
欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. (手机横屏看源码更方便) 问题 (1)自己动手写一个线程池需要考虑哪些因素? (2)自己动手写 ...
- java 线程组作用_浅析Java中线程组(ThreadGroup类)
一.概念 Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线 ...
- java 多线程 进程_Java多线程1:进程与线程概述
进程和线程 谈到多线程,就得先讲进程和线程的概念. 进程 进程可以理解为受操作系统管理的基本运行单元.360浏览器是一个进程.WPS也是一个进程,正在操作系统中运行的".exe"都 ...
- Java多线程笔记(零):进程、线程与通用概念
前言 不积跬步,无以至千里:不积小流,无以成江海.在学习Java多线程相关的知识前,我们首先需要去了解一点操作系统的进程.线程以及相关的基础概念. 进程 通常,我们把一个程序的执行称为一个进程.反过来 ...
- java线程切换 notify_浅谈 Java线程状态转换及控制
作者:城北有个混子 出自:博客园 1.线程的状态(系统层面) 一个线程被创建后就进入了线程的生命周期.在线程的生命周期中,共包括新建(New).就绪(Runnable).运行(Running).阻塞( ...
- 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生
线程:CPU调度的最小单位:线程共享堆内存和方法区,但各自享有栈空间.进程:CPU分配资源的最小单位. 为什么需要多线程:①避免其中一个模块阻塞造成系统假死:②程序异步处理(交替执行),提高程序执行效 ...
- java 多线程的使用_Java的多线程1:线程的使用
概述 public enumState {/*** Thread state for a thread which has not yet started.*/NEW,/*** Thread stat ...
- java 线程执行完就会回收吗_Java线程池技术Executors的这个坑你踩过吗?
线程池技术是Java的一大特性,如果我们想要编写高并发.高吞吐的程序,线程池的技术使用是必须的.对于很多程序员来说,多线程和线程池技术都了然于胸,基本原理和使用都数量掌握,分分钟可以写出一个生产消费者 ...
最新文章
- 系统测试方案如何写?
- Apache2.4开启php
- 软件工程—让软件包自带commit id
- Matlab求重复数字的个数tabulate
- linux转mysql_[转] linux下安装mysql服务器
- gan生成印刷体字母_字母GAN:AI生成英语字母!
- win10安装配置nginx
- Unity3D水下动物模型大集合
- Rufus创建Windows Server UEFI启动盘
- 什么pdf转换成word转换器在线好
- vue怎么给pc端浏览器设置一个最小屏幕_vue项目实现移动端适配的案例
- 计算机网络进入特权模式在哪里,计算机四级考试网络工程师考点一
- mac地址是由多少个bit组成_MAC地址是什么,MAC地址是怎么构成的,MAC地址占多少位,作用如何? 简单答案!!...
- 运行VUE项目时,出现npm ERR! A complete log of this run can be found in:...报错
- Raspbian镜像无头烧录
- 2016 年度码云热门项目排行榜 TOP 50
- 学习前端如何建立自己的知识体系?工作中如何快速进阶?
- 极客公园创新大会十周年首日看点:前沿思考论坛
- teechart mysql_TeeChart应用技术:在C# .NET Winforms设计/运行时TeeChart控件连接到MySQL(上篇)...
- HP DL380 G4启用iLO方法
热门文章
- iphone5登陆不了微信,提示“登录失败,连接失败,请检查网络设置”
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法
- [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机
- python中的字符串处理
- 【BZOJ 2721】 2721: [Violet 5]樱花 (筛)
- 【LeetCode】69. Sqrt(x) (2 solutions)
- 三角网导线平差实例_网平差三角网三边导线网.doc
- 7-2 jmu-Java-01入门-取数字 (2 分)
- 年龄测试计算器软件,抖音很火的年龄计算器
- linux创建表空间 没有权限,Linux oracle数据库创建表空间、用户并赋予权限