前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记1—多线程相关笔记

学习笔记1—多线程相关笔记

作者头像
用户1518699
发布2019-05-10 10:37:54
3330
发布2019-05-10 10:37:54
举报
文章被收录于专栏:nice_每一天nice_每一天

1.为什么使用多线程?

举例说明: 单个进程好比:一个人需要做饭、洗衣服、扫地、接孩子放学,需要一个人一个一个去完成,合理规划时间。 多线程好比:找多个人做饭、洗衣服、扫地、接孩子放学,他们之间互不干扰,互不影响。 由此可以看到:多线程相比于单个进程执行效率更高。能合理的利用cpu资源,降低程序之间的耦合性。

2.多线程有几种实现方式?

继承Thread类、实现Runnable接口、内部类 new Thread(new Runnable()..)

3.使用多线程过程中需要注意什么?

使用多线程需要注意线程安全性问题。 线程安全解决方案有:同步方法 、同步代码块 同步方法:使用synchronized关键字修饰的方法,例如 void synchronized(){} 同步代码块: 使用synchronized修饰的代码块,例如 synchronized(obj){} ,obj 可以是this锁,也可以是某个对象锁

4.多线程之间怎么通讯?

使用等待唤醒机制:wait()、notify()、notifyAll() wait:使当前线程进入等待状态,调用时必须放在synchronized方法 或者 synchronized 代码块中。 notify:唤醒一个等待当前锁对象的线程 notifyAll:唤醒所有等待当前锁对象的线程

5.并发包下有哪些同步容器 和并发容器?

Java中同步容器一共有两个Vector 和 HashTable。 两者的共性:都是线程安全的,在需要同步的方法上加synchronized关键词 使用Collections.synchronized*()方法可以将不安全的集合变成线程安全的集合

Java中并发容器也有两个:ConcurrentHashMap 和 ConcurrentSkipListMap。 ConcurrentHashMap是线程安全的,由于代码中大多数全局变量使用volatile关键字声明,所以性能较好。 ConcurrentSkipListMap是在ConcurrentHashMap的基础上,增加了排序功能

6.Java中有三种移位运算符

<< : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 >>>: 无符号右移,忽略符号位,空位都以0补齐

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.为什么使用多线程?
  • 2.多线程有几种实现方式?
  • 3.使用多线程过程中需要注意什么?
  • 4.多线程之间怎么通讯?
  • 5.并发包下有哪些同步容器 和并发容器?
  • 6.Java中有三种移位运算符
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档