20165220 第八周学习总结

教材学习内容总结

创建线程的方式有三种,分别是:

  • 继承Thread类创建线程,程序中如果想要获取当前线程对象可以使用方法:Thread.currentThread();如果想要返回线程的名称,则可以使用方法:getName();
  • 实现Runnable接口创建线程
  • 使用Callable和Future创建线程

每一个 Java 线程都有一个优先级,这样有助于操作系统确定线程的调度顺序。

Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。

默认情况下,每一个线程都会分配一个优先级 NORM_PRIORITY(5)。

具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源。但是,线程优先级不能保证线程执行的顺序,而且非常依赖于平台。

 

每个线程都有默认的优先级。主线程的默认优先级为Thread.NORM_PRIORITY。

线程的优先级有继承关系,比如A线程中创建了B线程,那么B将和A具有相同的优先级。
JVM提供了10个线程优先级,但与常见的操作系统都不能很好的映射。如果希望程序能移植到各个操作系统中,应该仅仅使用Thread类有以下三个静态常量作为优先级。
 

线程的常用方法:

start() 线程调用该方法将启动线程;

run() 用来定义线程对象被调度之后所执行的操作;

sleep(int millsecond) 使优先级别高的线程放弃CPU资源,休眠一段时间。必须在try-catch语句块中调用sleep方法;

isAlive() 线程处于“新建”状态时,线程调用isAlive()方法返回false。在线程的run()方法结束之前,即没有进入死亡状态之前,线程调用isAlive()方法返回true。当线程进入死亡状态后,线程调用方法isAlive(),此时的返回值为false。

教材学习中的问题和解决过程

  • Q:主线程与子线程有什么区别?
  • A:询问了同学后有以下几点说明   1.每个线程都有一个唯一标示符,来区分线程中的主次关系的说法。 线程唯一标示符:Thread.CurrentThread.ManagedThreadID;

  • 2.UI界面和Main函数均为主线程。

  • 3.被Thread包含的“方法体”或者“委托”均为子线程。

  • 4.委托可以包含多个方法体,利用this.Invoke去执行。

  • 5.也可以定义多种方法体,放在Thread里面去执行。则此方法体均为子线程。注意如果要修改UI界面的显示。则需要使用this.Invoke,否则会报异常。

  • 6.Main函数为主线程,id标示符与UI界面主线程相等。

 代码托管

上周考试错题总结

1.接口RowSet继承了接口__,可以调用RowSet中的方法__来填充其数据区。

①Statement ②ResultSet ③update ④populate

A ①③ B ①④ C ②③ D ②④

正确答案:C

 

2.下列属于常用数据库的是

A Access B XAMMP C .MySQL D .Oracle E .SQL Server

正确答案:A C D E

总结

这周的内容比前两周明显多了不少,而且是过去没有接触过的新知识和新概念,理解起来需要一定的时间,编写代码也要一步一步地努力提高。

我对这些新知识现在还掌握得不够熟练,希望多花时间敲代码后能够熟练应用。我觉得课前预习是非常有必要的,如果不及时掌握那么会被落

下很多很多,跟着大部队一起前进才是最好的,结对学习也初次体验了乐趣,相信以后会越来越好!

 

 

 

 

 
posted @ 2018-04-21 11:38  必然帅666  阅读(311)  评论(0编辑  收藏  举报