多线程与并发编程
文章平均质量分 81
Java程序员的必修课
boker_han
这个作者很懒,什么都没留下…
展开
-
多线程中的线程间通信及等待/通知机制的两种实现方式
多线程编程中,如果每个线程之间互相独立,那么将会使多线程带来的优势不能够很好地发挥出来。使用线程间通信,可以使得原先的互相独立的多个线程之间,能够很好地互相协作,使得系统之间的交互性得到提升,大大提高了CPU利用率,从而完成一些复杂的多线程功能模块。多线程间的通信一般采取等待/通知机制进行实现。见名知意,等待通知就是处于等待状态的线程需要由其他线程发出通知,从而可以再次获得CPU资源,执行之前...原创 2017-11-21 18:37:59 · 4986 阅读 · 0 评论 -
多线程与高并发编程之基础知识(下)
Java线程的实现: Java线程模型是基于操作系统原生线程模型来实现的;线程模型只对线程的并发规模和操作成本产生影响,对Java程序的编写和运行过程来说,并没有什么不同;Java线程调度: 线程调度是指系统为线程分配处理器使用权的过程;主要调度方式有:抢占式线程调度、协同式线程调度; 抢占式线程调度:每个线程由系统来分配执行时间,线程的切换不由线程本身决定;Java默认使用的线程调度方...原创 2018-03-07 09:55:40 · 7085 阅读 · 2 评论 -
多线程与高并发编程进阶(一)
使用多线程的目的:充分利用CPU资源以及加速程序运行速度 使用多线程面临的挑战:上下文切换、死锁、计算机资源的限制等上下文切换: CPU通过为每个线程分配CPU时间片来实现即使在单核的情况下,依旧可以使用多线程执行代码的机制; 时间片就是CPU的执行时间,通过分配时间片给各个线程,用以执行对应的代码;由于时间片一般很短(几十毫秒左右),所以需要不停地切换线程来使用对应的时间片...原创 2018-09-03 20:05:49 · 1860 阅读 · 0 评论 -
多线程与高并发编程进阶(二)
前言:一般来说,Java代码从编写到最后的执行会经历以下的过程:Java源代码(.java文件)–<即时编译器>–Java字节码(.class文件)–<类加载器加载>–汇编指令(CPU执行);Java中的并发机制依赖于JVM以及CPU指令,这些具体的实现原理将在下面进行分析;在Java的并发机制中,比较典型也比较常见的两个关键字:volatile以及synchroniz...原创 2018-09-03 22:32:30 · 1562 阅读 · 0 评论 -
多线程与高并发编程之基础知识(上)
前言:使用多线程,第一步就是需要知道如何实现自定义线程,因为实际开发中,需要线程完成的任务是不同的,所以我们需要根据线程任务来自定义线程,那么,JDK提供了三种自定义线程的方式,供我们实际开发中使用,来开发出符合需求的多线程程序!以下给出线程的三种实现方式,并且对每种实现的优缺点进行分析,最后对三种实现方式进行总结;方式一:继承Thread类,重写run方法package com.thr...原创 2018-10-01 21:48:25 · 57809 阅读 · 8 评论