自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 11-了解多线程所带来的安全风险

本节课来了解一个非常重要的问题,线程安全性问题。在了解线程安全性问题之前,我们先了解一下关于线程所带来的风险这个问题,我们之前也提到过这么一回事,我们说,线程不光有它的优势,同样的,线程也会带来一定的风险,我们当时提到了三点,第一点就是线程安全性问题,第二个是活跃性问题,第三个是性能问题。从第一点到第二点线程带来的风险严重性依次降低,第三个其实就是相当于优化。线程安全性问题是我们往后很...

2018-12-31 21:48:07 347

原创 10-使用jdk8提供的lambda进行并行计算

 本节来了解创建线程的最后一种方式:使用Lambda表达式实现。Lambda表达式是jdk8中所实现的一个新特性,称之为函数式编程,也是一个非常强大的功能。Lambda表达式有非常多的好处,当然了,它也有坏处,我们这里简单提几点它的好处,就是,使用Lambda表达式的代码看上去会更加的简洁,另外就是,实现起来会更加的方便,然后,再就是,它对并发的支持是非常好的,使用Lambda表达...

2018-12-30 21:25:37 1626

原创 08-多种创建线程的方式案例演示(二)使用线程池

本节讲创建线程的第五种方式:定时器。定时器其实也是相当于开辟一个线程来进行执行定时任务,就是我们所熟悉的Timer类,我们来看一下它的用法,其实定时器还是非常有用的,比如说我们想在某一个时间点上执行一件事,比如说,我们凌晨要跑数据,比如说,我们要实现20分钟之后提示我们一些事等等,都可以通过定时器来执行。定时器,关于定时任务,除了JDK所给我们提供的Timer类这个API以外,还有很多的第三方...

2018-12-30 15:45:03 447

原创 07-多种创建线程的方式案例演示(一)带返回值的方式

  Demo2仅仅是实现了Runnable接口,Demo2就是一个普通类而已,那么,如何来启动这个线程呢?其实,Demo2并不是线程类,而是作为一个线程任务存在,线程任务就是线程所要执行的功能。Thread类中有一个构造方法这个构造方法恰好能够接收一个Runnable接口我们把new Demo2传进去就可以了,这样就传进去了一个线程任务。这个Demo2就是R...

2018-12-30 15:22:33 461

原创 06-线程的初始化,中断以及其源码讲解

从这里开始,我们来了解线程的创建,继承Thread类和实现Runnable接口,这两种方式可以说是中规中矩的,也是我们用的比较多的创建线程的方式,后面也是基于继承Thread类和实现Runnable接口的另外一种,也就是,使用匿名内部类的方式。然后我们会发现无论是使用继承Thread类还是使用实现Runnable接口的方式还是使用匿名内部类的方式,这三种方式在run()方法中都没有办法去抛...

2018-12-30 15:09:56 484

原创 05-线程的状态以及各状态之间的转换详解

线程被创建出来之后,它并不是会立刻执行,而是由多个线程进行抢占CPU资源,那么,哪一个线程抢占到了,那一个线程就来执行。就像之前讲的烤烧饼的例子一样,炉子上面有多个任务在转,转到哪个任务(烧饼),那么,那个任务就执行,也就是说,在这个过程中,涉及到线程的生命周期的问题,就是说,从线程的创建到线程的结束的这个过程,它所经历的各个阶段,即线程的状态那么,可以说,线程从创建到死亡,可以说有七个状...

2018-12-29 21:25:48 737

原创 04-学习并发的四个阶段并推荐学习并发的资料

并发的学习目标,其实目标是非常明确的,并发为什么会遇到这么多挑战呢?无非就是它有这么多的缺点我们无非就是克服这些缺点之后,写出能支撑大并发的应用就可以了。这就是我们的学习目标,当然了,对于问题的解决,需要有一定的解决问题的能力。 推荐的学习资料:并发编程网:http://ifeve.com/ ...

2018-12-29 17:22:18 347

原创 03-解析多线程与多进程的联系以及上下文切换所导致资源浪费问题

什么是进程?简单来讲就是运行中的程序,那么,何为运行中的程序呢?我们如何来看看进程呢?操作系统都是多进程的。我们通过任务管理器就可以看到操作系统中当前运行的很多的进程我们写过的任何的一个程序,我们写一个程序,那么,这个程序运行起来,它就称之为进程。进程和线程之间又有什么关系呢?这里简单给大家提几点,进程是资源分配的基本单位。如果大家对进程比较感兴趣的话,你可以去了解一下咱大学中所学的《...

2018-12-28 21:41:22 1267

原创 02-理解多线程与并发之间的联系与区别

多线程和并发之间到底有什么关联呢?它们之间又有哪些差异呢?我们本节课就来探讨一下。首先说一下什么是多线程,其实之前已经给大家讲了一个非常简单的例子了假如这是我们的一个应用,假如我们在这里面写代码我们知道,程序是一行一行的往下执行的,在Java虚拟机运行时内存区域中,有一块叫做PC寄存器,类似于代码编辑器中的linenumber,指示的是行号,Java虚拟机就跟着行号一行一行的往...

2018-12-25 17:16:16 1687 2

原创 01-你真的了解并发吗

01-你真的了解并发吗我把并发分为四个阶段:第一个阶段是,熟练掌握并发相关的API,能够完成基本的并发编程;也就是我们所熟悉的继承Thread也好,实现Rannable接口也好,使用各种的锁,根号中期,注册队列,等等,你要熟练掌握这些和并发相关的API,这是第一个阶段。我们会用这些API还不行,我们要掌握这些API实现的原理,所以,第二个阶段是,熟读API源码,掌握其原理;了解了这些原...

2018-12-18 20:43:47 723

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除