20165333第八周学习总结

教材学习内容总结

第十二章 java多线程机制

一个进程在其执行过程中,可产生多个线程。线程是比进程更小的执行单位

JVM保证每个线程都有机会使用CPU资源,等到Java应用程序中的所有线程都结束后才结束应用程序

线程状态与生命周期

使用Thread类及其子类的对象表示线程

调用start()方法将线程加入JVM管理队列。调用以后不能再让线程调用start()方法

run()方法规定了线程的具体使命。方法执行完毕后线程变成死亡状态。

-sleep(int millsecond)使线程进入休眠状态。优先级高的线程可让出CPU资源是优先级低的线程执行

wait()方法使线程进入等待状态。通过notify()方法使线程从中断处继续运行。通常将wait()方法放入“while”的循环语句中

  • 常用方法

isAlive()用于判断线程是否处于新建状态或进入死亡状态,若是,返回false.

一个已经运行的线程在没有进入死亡状态时,不要再给线程分配实体

currentThread()返回当前正在使用CPU资源的线程

interrupt()用来“吵醒”调用sleep()方法休眠的线程

  • Thread类与线程创建

编写子类时,需要重写run()方法

创建线程的构造方法:Thread(Runnable target),参数是Runnable类型的接口,需向接口传递实例对象

  • 线程同步

线程同步机制:当一个线程使用synchronized方法时,其他线程若想使用就必须使用wait()方法等待,直到该线程使用完该方法

其他线程在使用同步方法时若不需要等待,则用完方法的同时,执行notifyAll()方法通知所有处于等待状态的线程结束等待

不可以在非同步方法中使用wait()、notify()、notifyAll()方法

  • 线程联合

B线程可通过B.join()联合A线程。A线程将立刻中断执行,等到B执行完毕后恢复执行

  • GUI线程

AWT-EventQuecue线程负责处理GUI事件

AWT-Windows线程负责将窗体或组件绘制到桌面

  • 计时器线程

Timer(int a,Object b)创建计时器

start()启动计时器

stop()停止计时器

restart重启计时器

  • 守护线程

调用void setDaemon(boolean on)方法设置守护线程

一个线程必须在运行之前设置自己是否是守护线程

代码托管

代码截图

原文地址:https://www.cnblogs.com/challengeeverthing/p/8910455.html

时间: 2024-10-21 03:33:16

20165333第八周学习总结的相关文章

20145301 《Java程序设计》第八周学习总结

20145301 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 通用API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 Logger java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,必许使用Logger的静态方法:名称空间层级相同的Logger,父Logger组态会

第六七八周学习进度总结

第六七八周学习进度总结   学习时间 新增代码行 博客量(篇) 知识总结 第六周 5h 60 0 对原有知识进行复习,并对小程序编写少量代码 第七周 8h 110 0 巩固学习了Java语言,并做网站练习 第八周 7h 90 1 进行团队作业,进行需求分析,构建WBS

《Linux内核设计与实现》第八周学习总结——第四章 进程调度

<Linux内核设计与实现>第八周学习总结——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是只要有可以执行的进程,那么就总会有进程正在执行,但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不

## 20155336 2016-2017-2《JAVA程序设计》第八周学习总结

20155336 2016-2017-2<JAVA程序设计>第八周学习总结 教材学习内容总结 第14章 NIO与NIO2 NIO简介 NIO使用频道来衔接数据结点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记,像是标记读取位 置.数据有效位置,对于这些区块标记,提供了Clear().rewind().flip().compact()等高级操作. NIO2简介 NIO2文件系统API提供一组标准接口与类,应用程序开发者只要基于这些标准接口与类进行文件系统操作,

LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程

LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程 黄韧(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 Linux中进程调度的基本概念与相关知识 schedule函数如何实现进程调度 Linux进程的执行过程(一般情况与特殊情况) 宏观描述Linux系统执行 二.学习笔记 (一)进程切换的关键代码switch_to分析 进程进度与进程调度的时机分析 1.

2017-2018-20155336 《信息安全系统设计基础》第八周学习总结

2017-2018-20155336 <信息安全系统设计基础>第八周学习总结 教材学习内容总结 第11章网络编程 1.客户端-服务器编程模型 一个服务器进程 -> 管理某种资源 -> 通过操作这种资源来为它的客户端提供某种服务 一个或多个客户端进程 基本操作:事务 当一个客户端需要服务时,向服务器发送一个请求,发起一个事务. 服务器收到请求后,解释它,并以适当的方式操作它的资源. 服务器给客户端发送一个相应,并等待下一个请求. 客户端收到响应并处理它. 客户端和服务器都是进程. 2

2017-2018-1 20155317《信息安全系统设计基础》第八周学习总结

2017-2018-1 20155317<信息安全系统设计基础>第八周学习总结 教材学习内容总结 并发 进程间可以并发执行. 同属一个进程的多个线程,也可以并发执行. 线程时操作系统拥有更好的并发性,从而能有效地使用系统资源和提供系统吞吐量. 当一个未引入线程的单处理机操作系统,若设置一个文件服务进程,当它由于某种原因阻塞,便没有其他的文件服务进程来提供服务.引入线程以后,可以为一个文件服务进程中设置多个服务线程,当其中一个线程阻塞时,文件服务进程中的其他线程可以继续运行,提供了文件服务的质量

20165225《Java程序设计》第八周学习总结

20165225<Java程序设计>第八周学习总结 1.视频与课本中的学习: 第十二章学习总结 1.继承Thread类创建线程,程序中如果想要获取当前线程对象可以使用方法:Thread.currentThread();如果想要返回线程的名称,则可以使用方法:getName(); 2.实现Runnable接口创建线程 3.使用Callable和Future创建线程 线程常用方法: start() run()定义线程线程对象被调度之后所执行的操作 sleep(int millsecond),必须在

20165205 2017-2018-2 《Java程序设计》第八周学习总结

20165205 2017-2018-2 <Java程序设计>第八周学习总结 教材学习内容总结 进程与线程 线程不是进程,但其行为很像进程,线程是比进程更小的执行单位. 与进程不同,线程的中断与恢复可以更加节省系统的开销. java中的线程 java语言的一大特点就是内置对多线程的支持. 线程的状态和生命周期: 新建:java语言使用Thread类及其子类的对象被声明并创建时,新生的线程对象处于新建状态. 运行和阻塞:当就绪状态的线程获取了CPU执行片的之后,就进入运行状态,但是在执行过程中,