随笔分类 -  多线程

摘要:第三章 Lambda表达式 3.1 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。 面向对象的思想: 做一件事 阅读全文
posted @ 2019-09-09 10:46 清晨的第一抹阳光 阅读(370) 评论(0) 推荐(0) 编辑
摘要:第二章 线程池 2.1 线程池思想概述 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复 阅读全文
posted @ 2019-09-08 23:55 清晨的第一抹阳光 阅读(116) 评论(0) 推荐(0) 编辑
摘要:第一章 等待唤醒机制 1.1 线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信 阅读全文
posted @ 2019-09-08 23:24 清晨的第一抹阳光 阅读(207) 评论(0) 推荐(0) 编辑
摘要:第三章 线程状态 3.1 线程状态概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在API中java.lang.Thread.State 这个枚举中给出了六种线程状态:这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细 阅读全文
posted @ 2019-09-08 22:42 清晨的第一抹阳光 阅读(153) 评论(0) 推荐(0) 编辑
摘要:第二章 线程安全 2.1 线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃 阅读全文
posted @ 2019-09-08 17:21 清晨的第一抹阳光 阅读(118) 评论(0) 推荐(0) 编辑
摘要:第一章 线程 1.1 多线程原理 画一个多线程执行时序图来体现一下多线程程序的执行流程。代码如下:自定义线程类: 测试类: 流程图: 程序启动运行main时候,java虚拟机启动一个进程,主线程main在main()调用时候被创建。随着调用mt的对象的start方法,另外一个新的线程也启动了,这样, 阅读全文
posted @ 2019-09-08 15:13 清晨的第一抹阳光 阅读(136) 评论(0) 推荐(0) 编辑
摘要:Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。线程调 度器按照线程的优先级决定应调度哪个线程来执行。线程的优先级用数字表示,范围从1到10 Thread.MIN_PRIORITY = 1 Thread.MAX_PRIORITY = 10 Thread.NORM_PRIORITY 阅读全文
posted @ 2019-07-24 20:30 清晨的第一抹阳光 阅读(303) 评论(0) 推荐(0) 编辑
摘要:线程状态 线程方法 sleep () 使线程停止运行一段时间,将处于阻塞状态 如果调用了sleep方法之后,没有其他等待执行的线程,这个时候当前线程不会马上恢复执行! join () 阻塞指定线程等到另一个线程完成以后再继续执行。 yield () 让当前正在执行线程暂停,不是阻塞线程,而是将线程转 阅读全文
posted @ 2019-07-24 16:58 清晨的第一抹阳光 阅读(136) 评论(0) 推荐(0) 编辑
摘要:lambda λ希腊字母表中排序第十一位的字母,英语名称为 Lambda, 避免匿名内部类定义过多 其实质属于函数式编程的概念 1、lambda表达式逐级推导 2、再次推导,加深印象 3、lambda参数传递(无返回值)以及简化 4、多个参数+返回值 5、多线程示例 阅读全文
posted @ 2019-07-23 23:24 清晨的第一抹阳光 阅读(299) 评论(0) 推荐(0) 编辑
摘要:创建线程由三种方式: (1)继承Thread类 (2)实现Runnable接口 (3)实现Callable接口 代码示例: 1、继承Thread类 2、实现Runnable接口 总结: 示例: 创建目标对象: IDownloader id =new IDownloader("图片地址","baidu 阅读全文
posted @ 2019-07-23 21:58 清晨的第一抹阳光 阅读(422) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示