首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

并发编程-java多线程总结大纲

先了解几个概念多线程:进程和线程是一对多的关系,一个进程(一个程序),由不同的线程来运行。有共享的空间也有独立的空间。并行:同时进行,拿两个cpu来跑同样的程序同样的代码片段,那就并行了。并发:不同时进行,只有一个cpu,而多个线程都在争取这个cpu资源。便是并发。用TPS和QPS去衡量并发程度。

线程的生命周期2、jvm内存模型到了jdk8,内存模型已经有了相当的改变了,下图是小编学习了几篇优秀的博文学习,根据自己的理解绘制出来的,请多指教。

jdk8内存模型独立内存空间从图中可以看出线程安全的区域是在栈空间,每个线程会有独立的栈空间,从而也解释了为什么方法内是线程安全的,而全局变量这些是线程不安全的,因为这些都在堆区。共享内存空间堆空间,和MateSpace是被所有线程共享的,因此在处理多线程问题的时候,其实主要是处理这两个空间的内容。共享区域在不加任何保护的情况下对其操作,会有异常结果。怎么做到线程安全?

umljavafulturemFuture只有5个方法cancel:取消任务的执行。参数表示是否立即中断任务isCancelled:判断任务是否已经取消isDone:判断任务是否已经完成get():阻塞到任务接受获取返回值get(long,TimeUnit):指定超时时间,获取返回值Future模式缺陷Fulture比较简单,基本上只通过两种方式:查看状态和等待完成。

javaumlthread

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929A1GH9Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券