这里的“代码”,说的是类里面的一个方法。

1.一个方法有可能会多个线程同时进入

必须牢记这个。头脑中应该一直记住,方法不是一次,一次进入的,而是非常有可能同时多个线程同时进入的。头脑中应该时刻记住。

带着多线程同时进入一个方法的思维惯性去看代码,比较能看清楚有些代码为什么那样写。

2.内存分配是在线程的上下文环境下分配的

所有new操作符都是在一个线程执行时分配的,而不是在单一的main线程上分配的,这个需要牢记。那么,我们就能看出,线程本地分配缓冲的作用了,给一个线程一定的初始空间,让其能够快速分配内存,当用完了之后,也就用完了,只能从全局的堆中分配了。

3.在web环境下,记住tomcat有200个线程,那么我们写的所有代码,所有类的方法,都有可能会被200个线程同时执行。

4.思考一个应用程序同时会有多少个线程执行,具有非常重要的意义。比如web环境下,有多少是tomcat的线程,有多少是开发人员手动创建的线程,有多少是jdk里面的线程池的线程,非常有意思。

5.时刻记住,你的代码能够被什么线程调用,具有非常重要的意义。对于开源框架里面的代码,当初始化,关闭,获得资源的时候,被哪个线程调用,也很有意思。

6.线程的内部产生的异常该怎么捕获?

使用Throwable来进行捕获。

转载于:https://www.cnblogs.com/weiguangyue/p/9941313.html

java并发-多线程方面的思考相关推荐

  1. Java 并发/多线程教程(四)-并发模型

    本系列译自jakob jenkov的Java并发多线程教程(本章节部分内容参考http://ifeve.com/并发编程模型),个人觉得很有收获.由于个人水平有限,不对之处还望矫正! 并发系统可以有多 ...

  2. Java 并发/多线程教程(五)-相同线程

    本系列译自jakob jenkov的Java并发多线程教程,个人觉得很有收获.由于个人水平有限,不对之处还望矫正! 相同线程是一并发框架模型,是一个单线程系统向外扩展成多个单线程的系统.这样的结果就是 ...

  3. Java并发/多线程教程——1

    本系列译自jakob jenkov的Java并发多线程教程,个人觉得很有收获.由于个人水平有限,不对之处还望矫正!在早期,计算机只有一个CPU,同一时刻只能执行一个程序,后来有了多任务的说法,多任务是 ...

  4. java并发多线程面试_Java多线程并发面试问答

    java并发多线程面试 Today we will go through Java Multithreading Interview Questions and Answers. We will al ...

  5. java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)

    java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一) 目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronize ...

  6. java线程知乎_全网独家!知乎20K点赞的Java并发多线程笔记,简直堪称神仙级文档...

    有很多小伙伴都问过我,头条号里的关于java多线程的文章有pdf版本吗?我其实很想弄pdf,但是前段时间一直没时间去折腾,我把每个Java并发编程核心技术的都整理成了一个又一个的文档.昨天也是终于全部 ...

  7. Java 并发 多线程:创建线程的四种方式

    Java 并发 多线程: 创建线程的四种方式 继承 Thread 类并重写 run 方法 实现 Runnable 接口 实现 Callable 接口 使用线程池的方式创建 1. 通过继承 Thread ...

  8. 『图解Java并发编程系列』10张图告诉你Java并发多线程那些破事

    目录 线程安全问题 活跃性问题 性能问题 有态度的总结 头发很多的程序员:『师父,这个批量处理接口太慢了,有什么办法可以优化?』架构师:『试试使用多线程优化』第二天头发很多的程序员:『师父,我已经使用 ...

  9. 面试准备-Java并发/多线程总结

    目录 常见问题 1. 线程和进程有什么区别? 2. 创建线程的三种方式的对比? 3. 为什么要使用多线程呢? 4. 线程的状态流转 5. 什么是线程死锁?如何避免死锁? 6. 常见的对比 7. sle ...

最新文章

  1. List and ArrayList
  2. Log4j官方文档翻译(一、基本介绍)
  3. CPU与内存的那些事
  4. 【李宏毅2020 ML/DL】P112-114 Q-Learning: Introduction Tips Continuous Actions
  5. 基于python的在线考试系统-Python程序设计考试系统的开发与应用.pdf
  6. spark 类别特征_spark 机器学习基础 数据类型
  7. matlab 频率分布直方图_小葱品题丨高考必考内容—频率分布直方图?!教你三步得满分!...
  8. matlab 多项式输入,MATLAB多项式
  9. css2仿微信导航栏-滑动门
  10. 80c51单片机编程语言是什么,80c51单片机的ram分为几个部分各有什么特点和功能...
  11. Android电话拦截及拦截提示音的实现
  12. python保存3通道图片为8位深度图
  13. 阿里无影云电脑是什么?现在哪个云电脑更好用?
  14. 对于二维数组,如何用Arrays.sort()进行排序以及理解------通俗易懂,条理清晰
  15. 如何将电脑的代理网络以WIFI热点的方式共享
  16. Pytorch常用张量变换操作
  17. 【Mac 环境配置】--安装git及使用
  18. SAP中数据元素及其描述对应关系查询技巧
  19. 进军东南亚市场,腾讯云数据库 TDSQL 助力印尼 BNC 银行数字化转型
  20. 软件界面原型设计工具 Web Axure RP

热门文章

  1. 原声JS面向对象实现的简单轮播
  2. 使用命令行开始你的netcore之路
  3. 20135316王剑桥 linux第六周课实验笔记
  4. [Example of Sklearn] - Example
  5. 新手指南:X5Cloud云端应用安装步骤(有图有说明)
  6. Oracle的配置文件
  7. AJAX淋漓尽致的发挥(Google个性化主页 VS. Windows Live.COM)站在互联网浪尖上窃喜...
  8. JavaScript常用工具Date对象和Math介绍介绍
  9. Python机器学习:PCA与梯度上升:009人脸识别与特征脸(lfw_people数据集)
  10. Linux中cinder的作用,cinder