`
sydra
  • 浏览: 5278 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

我的多线程提纲

阅读更多
一.并行计算
    多线程就是通过并行计算提高程序运行效率,之后的讨论大多数都是由于程序的并行计算所产生的问题.

二.多任务的并行计算
    最简单的多线程,把不同的任务放在不同的线程中运行,典型应用Servlet ,ThreadLocal

三.多任务中存在共享资源
    并行计算中的任务中存在共享资源,资源在多线程共同操作时会产生一致性问题,为了保证数据的一致性,必须提供原子操作.

四.有锁算法
    通过锁来保证一系列操作的原子性,synchronized,用锁要了解的东西
    1.锁住的资源依旧是单线程执行
    2.竞争:可以有优先级,没有保证
    3.等待被锁住的资源也是一种消耗
    4.锁本身的消耗并不小.
    5.防止死锁
    6.synchronized声明不会被继承

五.有锁的进阶算法
    Lock类,读写锁.

六.无锁算法
    不通过程序级别的锁来实现数据一致,cas(compare and set)算法,下面是关于cas.
    1.cas是通过底层实现的原子操作(cpu指令)
    2.cas并不是在所有情况下都比有锁算法效率高

七.其他
    1.线程池,因为创建和销毁线程也有消耗,所以使用池算法.
    2.java中的线程安全数据结构--java.util.concurrent包及子包.
    3.for/join框架,把大任务拆分成多个小任务多线程执行的算法.


总结.1多线程程序很复杂,2糟糕的多线程程序比单线程效率还要低.
分享到:
评论

相关推荐

    吕鑫:【C++语法与数据结构第25天】【第3堂课】多线程与TCP通讯流程

    1、讲解和演示通过多线程技术,实现接收端和发送端在同一进程内同时运行; 2、讲解和演示TCP通讯流程;

    JAVA面试提纲包括JAVA基础知识总结、数据结构、JVM、多线程等

    之前前辈传下来的复习提纲,帮助校招生找到好的工作。 其中校招真题题解,JAVA IO,JAVA 并发,JAVA 基础,JAVA容器,JVM Leetcode、LINUX,Mysql,代码风格规范,计算机操作系统、算法、剑指offer、面向对象思想、...

    java复习提纲 短小精悍

    java复习提纲,内含java io、多线程、网络、异常处理等

    Android DevCamp幻灯片分享:凡客移动应用之Android + HTML5技术运用 | 凡客 汪健飞 徐金山

    主题简介:本演讲将结合凡客的Android客户端应用实例,详细介绍凡客应用的实现架构,阐述分析电商应用中的多线程的合理使用、电商应用中因商品图片加载过多引发的内存溢出的优化处理等技术问题。演讲提纲涉及:(1)...

    java8源码-JUC:日常使用进程/线程的案例或者case

    #juc多线程 java.util.concurrent(并发) ##概念复习 进程:正在进行中的程序 线程:进程当中的一个执行单元 关系: 进程包含线程 面试问题: 日常使用进程/线程的案例或者case ###线程的各种状态: Thread.state --枚举 ...

    操作系统-基本知识点.docx

    操作系统-基本知识点 操作系统-基本知识点全文共19页,当前为第1页。操作系统-基本知识点全文共19页,当前为第1页。操作系统复习提纲 操作系统-基本知识点全文共19页,当前为第1页。... 线程概念与多线程模型 7 2

    PastPapersDownloader:使用python创建的工具,用于批量下载过去的论文(AICE A和A级别,IGCSE,O级别)

    :bar_chart: PastPapersDownloader :bar_chart:介绍该程序使用多线程请求下载As和A,IGCSE和O-Level类的过往论文。 这是下载过去考试的快速方法。 所有考试均来自安装要求+ python3+ Access to a terminal/shell/cmd...

    java面试题以及技巧

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题目与技巧1

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题及技巧4

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题及技巧3

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    java面试题以及技巧6

    D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试...

    eclipse 开发c/c++

    提纲:Outline 窗口模块提供了有关出现在源代码中的过程、变量、声明以及函数的快速视图。 利用 outline,您可以方便地找到源代码中的适当引用,或者甚至搜索所有项目源代码。 代码辅助:这个代码完成功能类似于可在...

Global site tag (gtag.js) - Google Analytics