• 并发(concurrency):是一个系统属性,指的是算法程序。强调的是发生在同一时间范围内,(交替发生)(类似于操作系统中的时间片段轮换算法),主要是使用时间片进行运行。
  • 并行(qrallelism):强调发生在同一时间点。
  • 并行是一种并发,但并发不一定是并行。
  • 多线程是解决并发问题的一种方式
  • 一个进程一定带一个主线程,进程是占用资源的最小单位。线程不单独占用资源,在执行任务的时候会占用cpu,但执行完后就会释放。线程会共享主线程的资源
  • 线程两种类型:用户线程和守护线程
  • 线程实际是由操作系统调用、管理、执行。JVM不能管理线程的执行
  • java支持多接口,不支持多继承
  • 如果多功能,则实现Runnable
  • 单功能,继承Thread.
  • join方法用于暂停当前进程直到指定进程结束。
  • 当主进程结束时,JVM就会强制结束守护进程。
  • 线程安全是由于线程间共享资源管理不当导致的数据不一致问题。是因为更新字段不是原子操作。
  • 死锁:
    • 避免死锁的方法:

      • 避免嵌套锁
      • 按需取锁:只申请当前工作锁
      • 避免无限等待:限定线程死锁时间
  • ------Synchronized--------同步锁
    • 锁静态方法   ---会有安全威胁
    • 锁对象    ----会有安全威胁
    • 锁实例方法 eg:public final Object mutex = new Object();    Synchronized(mutex){}
  • Executor是一个接口,它代表执行给定任务的对象。
  • ExecutorService 是一个完整的异步处理解决方案,他管理内存队列,并且基于线程可用性调度提交的任务
  • JVM默认线程是1M
  • 三种非阻塞方法
  • Lock.lock();         ******           Lock.unlock();   中间的部分只能有一个线程可以操作

Java并发和并行 安全相关推荐

  1. Java并发,并行,同步,互斥

    2019独角兽企业重金招聘Python工程师标准>>> 一切都要从这个世界的并行性开始说,事物的发展总是并行进行的,汽车在奔驰的同时,自行车也在行驶;别人正在唱歌,你可能正在吃饭;等 ...

  2. java并发和并行的区别

    概念: 并发:以交替的方式 利用等待某件事情完成的时间  来做其他事情,轮流执行任务,不一定同时.宏观上同时,微观上依次执行. 并行:在同一时刻,任务同时开始进行,彼此没有依赖关系.多个任务同一时刻同 ...

  3. java 并发和并行_并发和并行性有什么区别?

    并发和并行性有什么区别? 示例被赞赏. #1楼 并发性:具有共享资源潜力的多个执行流 例如:两个线程争用一个I / O端口. 平行主义:将问题分成多个相似的块. 例如:通过在文件的每半部分上运行两个进 ...

  4. Java多线程复习:1(进程和线程、并发和并行)

    进程和线程 进程 我们电脑中每一个运行着的程序都是一个进程,程序一旦运行就是进程. 进程可以视为程序的一个实例,大部分程序可以同时运行多个实例进程(如:浏览器.记事本.画图等),也有的程序只能启动一个 ...

  5. Java Streams,第 4 部分: 从并发到并行

    2019独角兽企业重金招聘Python工程师标准>>> Java Streams,第 4 部分: 从并发到并行 Java Streams 系列的第 4 期文章将解释决定并行处理的有效 ...

  6. Java并发编程—并发和并行、线程上下文

    文章目录 并发和并行 并发和并行的区别 上下文切换 相关问题 为什么循环次数少的情况下,单线程快? 什么时候需要用多线程? 线程上下文切换消耗的时长? 用什么测试的线程上下文?面试回答下面的工具会加分 ...

  7. java并行任务,Java 并发编程学习(五):批量并行执行任务的两种方式

    Java 并发编程学习(五):批量并行执行任务的两种方式 背景介绍 有时候我们需要执行一批相似的任务,并且要求这些任务能够并行执行.通常,我们的需求会分为两种情况: 并行执行一批任务,等待耗时最长的任 ...

  8. Java基础(29)线程与进程、并发与并行、多线程的三种启动方式、买票案例

    1. 进程与线程 1. 进程与线程的概述: (1)进程: 进程就是正在运行的程序,是系统进行资源分配和调用的独立单位,每一个进程都有他自己的内存空间和系统资源 比如正在运行的应用程序(QQ,微信,QQ ...

  9. 【Java扫盲篇】今天用人话给你讲清楚:进程、线程、并发、并行、高并发?

    在这里你可以了解: 为啥大家说的进程的意思有出入? 为啥并发那么难理解? 为啥高并发不仅仅是 "高"+"并发" 的意思? 为啥这些概念到了现实当中就不一样了? ...

最新文章

  1. 文章推荐 | 城市规划中城市信息学的研究进展
  2. Oracle并行进程小结
  3. Dell工作站UEFI与BIOS,AHCI与RAID模式
  4. 我遇到的一个怪现象!
  5. django class类即视图类添加装饰器的几种方法
  6. mysql(mariadb)的安装与使用,mysql相关命令,mysql数据类型
  7. 服务器的系统盘存储,云服务器 系统盘 存储盘
  8. linux将passwd文件拷贝到,Linux命令
  9. python 自动加载_【python】命令行下自动加载模块和tab补全功能
  10. 教你手写Java层handler机制
  11. 腾讯微信被怼,iOS版微信不能打赏了
  12. java CRC32
  13. GROW GM65 条码二维码扫描识别模块 兼容大部分条码和二维码
  14. 利用ADO连接数据库时,Rs.recordcount总是返回-1,解决办法
  15. 如何在Win11中恢复动态磁贴?
  16. python混合整数非线性规划_什么是混合整数非线性规划问题
  17. 计网必会:UDP差错检测,检验和、可靠数据传输原理
  18. Eclipse集成SVN报Failed to load JavaHL Library
  19. FL Studio21新版终于有内置的强大混响插件了
  20. word附注格式研究之二:段落段前距、段后距、行间距的影响因素

热门文章

  1. 卡卡上网安全助手之系统修复 怎么用
  2. 长篇连载(一):你的编程能力从什么时候开始突飞猛进?
  3. pelco-d 协议指南
  4. 强行删除mac中的文件
  5. 第五篇 Data Feeds(2)使用GenericCSVData加载数据
  6. 【架构实战day1】京东开放平台的架构与演进
  7. 我国支付工具主要有哪几种
  8. Apache POI官方文档
  9. 《代码整洁之道》第一章 整洁代码 ---为什么需要整洁代码?
  10. STM32的最小系统组成的详解