java 线程监控_java中的线程是什么?怎么理解线程?多线程又是什么?怎么去监控线程?...

谢邀,如果理解操作系统线程,就好理解Java线程了。如果理解操作系统进程,操作系统线程也比较好理解。操作系统进程不陌生吧?你的迅雷在下载《三国演义》,暴风影音在播放《水浒传》,这就是两个进程,可以同时运行的。

进程们所争夺的资源,是CPU时间,CPU执行任务是线性的,但CPU数量有限(早期都是单CPU,现在多了点),而用户想同时使用的功能数量无厌,怎样用有限的CPU,支撑许多功能的同时运行?答案是,做不到。但可以让CPU这20毫秒运行任务A,下20毫秒运行任务B,再下20毫秒又运行任务A……这样频繁的切换,能让用户误以为A和B在同时运行,这就是所谓的伪并发。

为实现伪并发,就需要多进程,每个进程占用一些内存空间,该空间装了进程需要使用的程序代码和状态数据,每个进程还占用一些CPU时间,用来让CPU执行它的代码。状态得以保存,代码得以执行,我们就可以通过编程来实现各种目的了。

Java中的线程类似,在同一时刻,一个线程只能执行一件任务,如果你希望同一时刻有多个任务在执行,就需要开多个线程。试着写一个Socket服务器就知道了,不用多线程,没法同时处理多个客户端的请求呀。

但用了多线程,犯错的可能性是很大的,尤其是犯错后很难重现错误,导致排查和修改很艰难,这时如果能监控运行中的线程的状态就好了,就像我们调试程序时喜欢打上断点监控运行中的程序状态一样,有了这个信息反馈,更容易知道到底发生了什么,知道程序哪里写错了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值