这里只起一个概述的作用,极其简单的列一下知识点,需要在脑海中过一下,如果哪些方面不熟悉的话,建议利用网络资源去学习。

1.线程、进程概念

  概念

  线程状态及其转换

2.死锁、预防、解决

3.jdk线程实现方式

  继承Thread重写run方法、实现Runnable实现run方法、实现Callable重写call方法

  call方法能抛出异常允许有返回值

  join/jield/interrupt/stop/wait/sleep/setDaemon/suspend

4.线程同步、线程异步

  同步使用场景:共享数据和资源。 生产者消费者、哲学家共餐

  异步使用场景:io等费时操作且主线程不依赖于该操作结果

5.同步机制

  synchronized方法和块

  wait和notify/notifyAll方法(需在synchronized修饰范围内)

  重入锁对象的lock/tryLock/lockInterruptibly方法 阻塞/非阻塞/接收异常阻塞

6.线程通信

  synchronized+wait/notify

  Condition条件对象的await/signal/signalAll方法

  管道流

  共享变量

  回调

  分布式系统需借助中间件

  信号量

  内存映射

  socket

7.线程池

  ExecutorService-ThreadPoolExecutor/SchedulePoolExecutor

  NewCachedThreadPool

8.Future/FutureTask

  Callable对象,get方法

9.Concurrent并发工具包

java多线程知识点概述的更多相关文章

  1. Java多线程——<一>概述、定义任务

    一.概述 为什么使用线程?从c开始,任何一门高级语言的默认执行顺序是“按照编写的代码的顺序执行”,日常开发过程中写的业务逻辑,但凡不涉及并发的,都是让一个任务顺序执行以确保得到想要的结果.但是,当你的 ...

  2. java 多线程知识点

    线程状态图 说明: 线程共包括以下5种状态. 新建状态(New) : 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread(). 就绪状态(Runnable) ...

  3. Java 多线程 - 总结概述

    概述 菜鸟教程: Java 给多线程编程提供了内置的支持. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 多线程是多任务的一种特别的形式,但多线程 ...

  4. java多线程知识点

    下面是我学习多线程记录的知识点,并没详细讲解每个知识点,只是将重要的知识点记录下来,有时间可以看看,如果有不对的地方,欢迎大家指出,谢谢! 1.多线程的状态和创建方式:     线程的状态:      ...

  5. java多线程基本概述(一)——线程的基本认知

    1.1.概念: 进程:进程是操作系统结构的基础,是一次程序的执行:是一个程序及其数据再处理器上顺序执行时所发生的活动:是程序再一个数据集合上运行的过程,它是系统进行系统资源分配和调度的最小单元. 线程 ...

  6. java多线程知识点汇总(一)多线程基础

    1.什么叫多线程程序? 答:一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序. java编写的程序都是多线程的,因为最少有俩线程,main主线程和gc线程. ...

  7. 软帝学院:java多线程知识点分享

    1.进程和线程: 进程:正在进行的程序.每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元. 线程:进程内部的一条执行路径或者一个控制单元. 两者的区别: 一个进程至少有一个线程 ...

  8. java——多线程知识点大总结

    1:理解线程的概念之前,我们有必要先理解一下进程的概念 程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java语言)编写的命令序列的集合. 进程指一个程序的一次执行过程   ...

  9. java多线程知识点总结

    1.线程调度知识:线程类Thread的了解,几个thread的方法.thread.sleep(),thread.join().(调用join方法的那个线程会立刻执行). object.wait()方法 ...

随机推荐

  1. 关于hibernate的缓存使用(转)

    原文链接:http://blog.csdn.net/woshichenxu/article/details/586361#t0 1.     关于hibernate缓存的问题: 1.1.1.      ...

  2. Verilog HDL程序设计——基本要素

    Verilog基本上熟悉了,继续整理一下Verilog的学习笔记吧.前面记载了Verilog的结构,写Verilog的结构有了,但是该怎么写呢?在写之前就得了解一下Verilog的一些基本要素了,也就 ...

  3. [HNOI2006]超级英雄 网络流+二分版

    刚学网络流的我这里有一道非常好的"网络流练手题"------[HNOI2006]超级英雄. 记得很久以前真的有这个节目来着,还是大兵主持的. 其实这是一道匈牙利板子大水题,但对于我 ...

  4. 类似818tu.co微信小说分销系统设计之多公众号网页授权自动登录源码

    /** 转载请保留原地址以及版权声明,请勿恶意修改 *  作者:杨浩瑞  QQ:1420213383  独立博客:http://www.yxxrui.cn * [后台]http://xiaoshuo. ...

  5. codeforces 475D. CGCDSSQ

    D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes Given a sequence of int ...

  6. 4G内存服务器的MySQL配置优化

    公司网站访问量越来越大(日均超10万PV),MySQL自然成为瓶颈,关于 MySQL 的优化,最基本的是 MySQL 系统参数的优化. MySQL对于web架构性能的影响最大,也是关键的核心部分.My ...

  7. Python网络数据采集7-单元测试与Selenium自动化测试

    Python网络数据采集7-单元测试与Selenium自动化测试 单元测试 Python中使用内置库unittest可完成单元测试.只要继承unittest.TestCase类,就可以实现下面的功能. ...

  8. UUID.randomUUID().toString() 的作用

    public static String createNewId(){ return UUID.randomUUID().toString() ; } UUID.randomUUID().toStri ...

  9. pythonchallenge

    # _*_ coding:utf-8 _*_ translated = '' message = 'g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr ...

  10. Ubuntu 简单安装和配置 GitLab

    使用的 Ubuntu Server 16.04 LTS 版本,服务器托管在 Azure 上,用的 1 元试用 1 个月服务器订阅(1500 元额度). 安装命令(推荐使用): curl -sS htt ...