【连载】第1章-1.4线程无处不在

格言:在程序猿界混出点名堂!

《JAVA并发编程实战》解读
【连载】第1章-1.4线程无处不在

回顾:在1.3中介绍了,线程带来的风险,包括安全性问题、活跃性问题还有性能问题,这一小节讲的是线程无处不在。

每个JAVA应用程序都会使用线程。

当JVM启动后,为JVM内部任务(比如垃圾回收器)创建后台线程,并创建一个主线程来运行main方法。可以使用jstack的监控工具打印堆栈日志查看,我只写了一个main方法启动,可以看到有很多的JVM线程。

"main" #1 prio=5 os_prio=31 tid=0x00007f9f3c801800 nid=0x2803 waiting on condition [0x000070000d152000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at cn.kazz.RunOneTask.main(RunOneTask.java:8)

"VM Thread" os_prio=31 tid=0x00007f9f3c83e800 nid=0x5103 runnable 

"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007f9f3c800800 nid=0x2007 runnable 

"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81d000 nid=0x2103 runnable 

"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81d800 nid=0x5403 runnable 

"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81e000 nid=0x2b03 runnable 

"VM Periodic Task Thread" os_prio=31 tid=0x00007f9f3b00a000 nid=0x3a03 waiting on condition 

多数Java应用程序都是多线程

多少Java应用程序都是多线程,使用时需要对应用程序的状态(比如内存变量)的访问进行协同
而且一些框架引入了并发性时,通常并发性不仅局限于框架代码。比如下面提到的这些。

  • Timer
    Java的工具,作用是在稍后的片刻运行,或者运行一次或者周期性运行。
    带来的问题是周期性运行可能改变其他线程访问的共享数据。也就是说Timer本身就是一个线程,可能存在不安全的操作,最简单的方式解决这种不安全就是把线程安全封装在共享对象内部。AtomicInteger就是很好的安全封装的例子。

  • Servlet和JSP
    Servlet框架属于Web应用程序。有可能同一个Servlet服务同时被多个客户端调用,也就是多线程调用,因此也需要注意线程安全的问题。

  • 远程方法调用
    就是RMI,跟Dubbo、Thrift等框架类似,这些框架跟Servlet一样,也可以被多个客户端调用,存在访问共享变量的安全性问题,对共享变量也要协同共享对象的状态。

知识点

  1. 了解这些多线程的框架来体会多线程可能带来的非安全性问题。

喜欢连载可关注简书或者微信公众号
简书专题:Java并发编程实战-可爱猪猪解读
https://www.jianshu.com/c/ac717321a386
微信公众号:逗哥聊IT

推荐阅读更多精彩内容

  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 4,134评论 6 72
  • JAVA面试题 1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 ...
    JA尐白阅读 754评论 1 0
  • 一. Java基础部分.................................................
    wy_sure阅读 2,859评论 0 11
  • JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以...
    yangkg阅读 419评论 0 1
  • 下面是利用原子读写操作的两种算法 在下面的算法中对数据的读写都是原子的 算法一两段程序如下:(1) (2) 这个解...
    Fruit_初阅读 120评论 0 0
  • 我不懂吉他,不懂民谣,却对他们一往而深 理想,一个陌生又熟悉的词语。 此时我在听着赵雷的理想,在想着当年他写这首歌...
    撸串串一阅读 150评论 2 1
  • 《自己不坚强,懦弱给谁看?》 不经意间/搅进了你的生活/于是/我成了你笔下的标点。 明明知道/你不会回来/还在傻傻...
    快乐背包客阅读 220评论 2 2
  • 对不起,我像你一样不能忘记。不能忘记很多东西。我是不喜欢你了,可是我像喜欢你一样不喜欢你。偷偷看了你的微博,你的眼...
    断桥残雪1阅读 721评论 2 2
  • 在周末的时候,看了《圆桌派》徐静蕾和蒋方舟的那期,这期好像突然就火了,43岁的徐静蕾和27岁的蒋方舟一起聊爱情。 ...
    BoBo520阅读 3,228评论 7 17