A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.等待唤醒机制存在的意义是什么?多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作。 就是多个线程在操作同一份数据时, 避免对同一共享变量的争夺。也就是我们需要通过一定的手段使各个线程能有效的利用资源。而这种手段即—— 等待唤醒机制。
2.调用wait()方法和notify()方法,需要注意什么?
1. wait:线程不再活动,不再参与调度,进入 wait set 中,因此不会浪费 CPU 资源,也不会去竞争锁了,这时的线程状态即是 WAITING。它还要等着别的线程执行一个特别的动作,也即是“通知(notify)”在这个对象上等待的线程从wait set 中释放出来,重新进入到调度队列(ready queue)中
2. notify:则选取所通知对象的 wait set 中的一个线程释放;例如,餐馆有空位置后,等候就餐最久的顾客最先入座。
3. notifyAll:则释放所通知对象的 wait set 上的全部线程。

3.使用线程池来操作线程有什么好处?
其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。
4.传统的面向对象编码有什么弊端?
做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.代码会很冗余
函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程
5.什么情况下可以使用lambda表达式来替换面向对象编码?
使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。
使用Lambda必须具有上下文推断。
6.什么情况下lambda表达式可以简写?

1. 小括号内参数的类型可以省略;
2. 如果小括号内有且仅有一个参,则小括号可以省略;
3. 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号


回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?
线程通讯,有效利用资源
2.调用wait()方法和notify()方法,需要注意什么?
同一个锁对象
3.使用线程池来操作线程有什么好处?
降低服务器资源和减少加载时间
4.传统的面向对象编码有什么弊端?
代码冗余,耦合性强,但适合阅读
5.什么情况下可以使用lambda表达式来替换面向对象编码?
有一个接口,接口当中有抽象方法
可推导
6.什么情况下lambda表达式可以简写?
1.参数列表内的类型可以简写;
2.当小括号内的参数只有一个时,小括号可以省略;
3.当大括号内有且仅有一个语句时,不管其有没有返回值,大括号,return关键字和语句分号可以一起省略。
回复 使用道具 举报
1.当不同的线程执行不同的线程任务,共享相同的资源,使用等待唤醒机制,减少资源浪费
2.调用的对象为锁对象
3.减少重复创建线程带来的资源浪费和创建线程的时间,便于管理线程,不同的内存创建不同的线程数
4.调用对象完成功能的代码冗余,强类型语言带来的格式复杂
5.当一个接口有且只有一个抽象方法时,只看功能结果
6.可以根据上下文进行推导的时候可以简写,方法体只有一条语句也可简写
回复 使用道具 举报
邹毅涛
1.等待唤醒机制存在的意义是什么?
提高资源利用率。
2.调用wait()方法和notify()方法,需要注意什么?
需要用同一个锁对象。
3.使用线程池来操作线程有什么好处?
减少资源浪费,提高效率。
4.传统的面向对象编码有什么弊端?
代码冗余
5.什么情况下可以使用lambda表达式来替换面向对象编码?
存在接口,有且仅有一个抽象方法。必须有上下文推断。
6.什么情况下lambda表达式可以简写?
参数类型可以省略
小括号内只有一个参数可以省略小括号
大括号有且仅有一个语句,可省略大括号,返回值和分号。同时
回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?
在使用同一线程任务且处理动作不同时,有序的运行。
2.调用wait()方法和notify()方法,需要注意什么?
1、wait()和notify()必须使用同一个锁对象调用。
2、wait方法与notify方法是属于object类的方法。
3、wait方法与notify方法必须在同步代码块或者同步函数中使用(因为必须通过锁对象调用这连个方法)
3.使用线程池来操作线程有什么好处?
减少创建线程与销毁线程的内存消耗。
4.传统的面向对象编码有什么弊端?
传统的面向对象编码比较冗余,需创建对象
5.什么情况下可以使用lambda表达式来替换面向对象编码?
接口有且仅有一个抽象方法。上下文可推导。
6.什么情况下lambda表达式可以简写?
1.参数列表内的类型可以简写;
       2.当小括号内的参数只有一个时,小括号可以省略;
       3.当大括号内有且仅有一个语句时,不管其有没有返回值,大括号,return关键字和语句分号可以一起省略。
回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?
  使各个线程能有效的利用资源,多个线程在操作同一份数据时, 避免对同一共享变量的争夺
2.调用wait()方法和notify()方法,需要注意什么?
(1)wait方法与notify方法必须要由同一个锁对象调用。因为:对应的锁对象可以通过notify唤醒使用同一个锁对象调用的wait方法后的线程。
(2)wait方法与notify方法是属于Object类的方法的。因为:锁对象可以是任意对象,而任意对象的所属类都是继承了Object类的。
(3)wait方法与notify方法必须要在同步代码块或者是同步函数中使用。因为:必须要通过锁对象调用这2个方法
3.使用线程池来操作线程有什么好处?
(1)降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。
(2)提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。
(3)提高线程的可管理性。
4.传统的面向对象编码有什么弊端?
代码冗余,要做很多很琐碎的事情,你需要通过对象来实现目的
5.什么情况下可以使用lambda表达式来替换面向对象编码?
  接口只有一个抽象方法,并且上下文可推导
6.什么情况下lambda表达式可以简写?
(1)小括号内参数的类型可以省略;
(2).如果小括号内有且仅有一个参,则小括号可以省略;
(3).如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。要省三者要一起省。
回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?
不同的线程执行不同的任务共享相同的资源,使用等待唤醒,减少资源浪费
2.调用wait()方法和notify()方法,需要注意什么?
调用对象为锁对象
3.使用线程池来操作线程有什么好处?
可以减少线程创建,消除时的资源浪费,提高效率
4.传统的面向对象编码有什么弊端?
调用对象完成功能的代码冗余,强类型语言带来的格式复杂
5.什么情况下可以使用lambda表达式来替换面向对象编码?
必须要有接口且接口当中只有一个抽象方法。
6.什么情况下lambda表达式可以简写?
小括号内参数的类型可以省略,;如果小括号,有且仅有一个参数,那小括号可以省略;如果大括号里面只有一条语句,那大括号return分号都可以省略
回复 使用道具 举报

天我们学习了JDK1.8的新特性,lambda表达式,等待唤醒机制和线程池,请根据自己的理解回答下面问题:
1.等待唤醒机制存在的意义是什么?
可以让某些特定的线程等待,其他线程运行完之后运行,或者不在运行
2.调用wait()方法和notify()方法,需要注意什么?
要注意调用的对象地址值必须一样
3.使用线程池来操作线程有什么好处?
格式简化,效率更高
4.传统的面向对象编码有什么弊端?
多余代码多
5.什么情况下可以使用lambda表达式来替换面向对象编码?
对象是接口并且只有一个抽象方法的情况下
6.什么情况下lambda表达式可以简写?
参数类型可以简写,
如果参数只有一个小括号也可以省略,
大括号内的内容如果只有一段话(即一个封号)那么大括号,封号,返回语句(不管有没有返回值)都可以省略。
不过要注意大括号,封号,返回语句要省略就要一起省略不能省略单个
回复 使用道具 举报
1.减少资源的浪费,让代码更有逻辑
2.要在synchronize的锁对象一致。
3.可以不用重复创建销毁线程,进而结束资源,减少资源浪费且好管理
4.代码繁多,需要创建对象,再调用对象方法,甚至重写方法
5. 函数式接口,即抽象方法只有一个(可以有默认方法和静态方法)可以使用。
6. 1. 参数列表数据类型可省略,如果参数只有一个,小括号可省略
   2. 方法体只有一句,可省略return,与此同时大括号和;可省略
--李翔
回复 使用道具 举报

1.等待唤醒机制存在的意义是什么?
有效利用资源
2.调用wait()方法和notify()方法,需要注意什么?
两则必须由同步代码块代用,且同步代码块需一致,必须在同步代码块中使用
3.使用线程池来操作线程有什么好处?
避免重复创建线程,浪费资源,提高速度,提高线程管理性
4.传统的面向对象编码有什么弊端?
代码冗余
5.什么情况下可以使用lambda表达式来替换面向对象编码?
在接口只有一个抽象方法的时候
6.什么情况下lambda表达式可以简写?
只有一个语句时,同时省略return,{}及;
参数列表的数据类型可以省略
当参数列表只有一个参数时,()可以省略





回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?   整加软件的性能,线程再次执行时不用重新启动,只需要从waiting状态中"醒"过来;
2.调用wait()方法和notify()方法,需要注意什么?
锁对象必须相同
访问的资源是共享的
只有锁对象才能调用这两个方法,且锁对象不能为null
3.使用线程池来操作线程有什么好处?
1多次创建新的线程是非常浪费系统资源的,线程池可以避免重复创建线程对象,
2提高响应速度,当任务到达时,任务可以不需要的等到线程创建就能立即执行
3提高线程的可管理性,可以根据系统的承受能力,调整线程池中工作线程的数目,防止英文小号过多的内存,而把服务器累趴下,
4.传统的面向对象编码有什么弊端?
代码冗余,在某些情况下会导致程序性能变低,
5.什么情况下可以使用lambda表达式来替换面向对象编码?
接口且接口中只有一个抽象方法时
6.什么情况下lambda表达式可以简写?


参数列表中的数据类型可以省略
当参数只有一个时,参数外面的小括号可以省略
大括号中只有一个语句时,可以省略大括号,return,分号,并且这三个要同时省略
回复 使用道具 举报
1.等待唤醒机制存在的意义是什么?
解决线程通讯中的资源浪费问题,保证共享变量的合理利用,让线程能够有规律的执行任务
2.调用wait()方法和notify()方法,需要注意什么?
1、必须用锁对象调用
2、必须写在同步代码块内
3.使用线程池来操作线程有什么好处?
节省创建,销毁线程对象的资源;
提高响应速度;
提高线程的可管理性;
4.传统的面向对象编码有什么弊端?
书面格式复杂;
需要创建对象,调用对象的方法,才可以得到结果;
5.什么情况下可以使用lambda表达式来替换面向对象编码?
由且只有一个抽象方法的解控;还需要有上下文的推导
6.什么情况下lambda表达式可以简写?
1)无参无返回值:可以省略{};
2)有参有返回值:参数列表只有一个参数类型时,()可以不写
                参数类型可以省略
                当方法体只有一行时,可以省略 return ;{}
                省略 return ;{} 时,三者必须一起省略
回复 使用道具 举报
郭林源

1.等待唤醒机制存在的意义是什么?-->解决在线程通信中的资源浪费的问题,使资源得到合理利用

2.调用wait()方法和notify()方法,需要注意什么?-->1:二者使用的必须是同一个同步锁   2:一个线程使用wait方法后,必须等待另一个线程使用notify唤醒它
3:如果唤醒的是多个线程,那最先等待的线程优先唤醒

3.使用线程池来操作线程有什么好处?-->避免了频繁创建和销毁线程,浪费系统资源,而且创建的线程可重复使用

4.传统的面向对象编码有什么弊端?-->需要为了实现简单的操作而不得不创建多个对象,并调用方法区实现

5.什么情况下可以使用lambda表达式来替换面向对象编码?-->1:有且仅有一个抽象方法的接口  2:变量及参数信息可根据上下文推导得到的

6.什么情况下lambda表达式可以简写?-->小括号的参数类型可省略,
如果小括号只有一个参数,那小括号也可以省略;如果大括号有且仅有一句语句,那不管有没有return,都可以省略return和大括号,和分号
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马