摘要: 1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看 阅读全文
posted @ 2019-07-15 19:02 国民老公骚颖 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 摘要: 1. 并发与并行的区别,何为并发编程,并发编程的优势在哪 2. 多线程、多任务、多进程机制概述 3. 多线程、多任务、多进程机制与编程思想的关系 一、并发 1.1 并发与并行 首先介绍一下并发与并行,两者虽然只有一字之差,但实际上却有着本质的区别,其概念如下: 并行性(parallel):指 阅读全文
posted @ 2019-07-15 19:01 国民老公骚颖 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 摘要: 1. 通过继承Thread类来创建并启动多线程的方式 2. 通过实现Runnable接口来创建并启动线程的方式 3. 通过实现Callable接口来创建并启动线程的方式 4. 总结Java中创建线程的方式,比较各自优势和区别 一、继承Thread类创建线程类 1.1 继承Thread类创建线 阅读全文
posted @ 2019-07-15 19:00 国民老公骚颖 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 摘要: Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行 1. join线程控制,让一个线程等待另一个线程完成的方法 2. 后台线程,又称为守护线程或精灵线程。它的任务是为其他的线程提供服务,如果所有的前台线程都死亡,后台线程会自动死亡 3. 线程睡眠sle 阅读全文
posted @ 2019-07-15 18:58 国民老公骚颖 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 摘要: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运行,所以CP 阅读全文
posted @ 2019-07-15 18:55 国民老公骚颖 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、前言 长久以来,一直想剖析一下Java线程安全的本质,但是苦于有些微观的点想不明白,便搁置了下来,前段时间慢慢想明白了,便把所有的点串联起来,趁着思路清晰,整理成这样一篇文章。 二、导读 1、为什么有多线程? 2、线程安全描述的本质问题是什么? 3、Java内存模型(JMM)数据可见性问题、指令 阅读全文
posted @ 2019-07-15 18:54 国民老公骚颖 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口 阅读全文
posted @ 2019-07-15 18:45 国民老公骚颖 阅读(215) 评论(0) 推荐(0) 编辑