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

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

教材学习内容总结

第十二章

线程状态

  • 创建线程对象
  1. 利用Thread类或子类直接创建:Thread(Runnable target)创建线程,获取当前线程对象,getName()返回线程的名称。
  2. 使用Runnable接口:相较于Thread更灵活
  • 运行

    run()方法规定具体使命
  • 中断
  • 死亡

线程的常用方法

  • start():启动线程,只有新建的线程才可以调用
  • run():定义线程对象被调度后所执行的操作,是系统自动调用而用户不得引用的方法,需创建Thread类的子类重写覆盖原来的方法。
  • sleep(int millsecond):使优先级高的自动放弃cpu资源
  • isAlive():新建及死亡状态返回false,run()开始运行到结束之前调用返回true
  • currentThread():返回正在使用cpu的线程
  • interrupt():重启动休眠的线程

线程同步

synchronized 修饰方法,则调用时须遵守同步机制

线程联合

join().B 使A联合B,即A线程中断执行直至B完成

GUI线程

GUI:图形用户界面

主要涉及AWT-EventQuecue(负责处理GUI事件)和AWT-Windows(负责将窗体或组件绘制到桌面)

计时器线程

Timer(int a,Object b)创建计时器,Timer类的start()启动线程,stop()停止,restart()重启恢复线程

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

问题一:p366提到在创建线程时,Runnable类比Thread子类更具有灵活性,但是不是很懂Runnable类要怎么用。

解决方法一:通过上网查阅资料学习,了解到实现Runnable接口的类必须使用Thread类的实例才能创建线程。通过Runnable接口创建线程分为两步:

  1. 将实现Runnable接口的类实例化。
  2. 建立一个Thread对象,并将第一步实例化后的对象作为参数传入Thread类的构造方法。

代码托管

上周考试错题总结

  1. 下面的选项不是关系数据库基本特征的是

    A.不同的列应有不同的数据类型

    B.不同的列应有不同的列名

    C.与行的次序无关

    D.与列的次序无关

    正确答案为A,该项不属于关系数据库的基本特征
  2. 下列属于数据操作语言的是

    A.insert

    B.update

    C.create

    D.select

    此题为多选,除了update外,insert也属于数据操作语言

其他(感悟、思考等,可选)

这一章主要学习了线程,多线程作为Java的特点之一,但是并不是指多个事件被同时处理,而本章的知识也更贴近具体问题,可以用来更好的表达及解决实际问题。

参考资料

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 36/36 4/4 30/30
第二周 464/500 1/5 18/48
第三周 832/1332 2/7 17/65
第四周 939/2271 2/9 17/65
第五周 1163/3434 1/10 17/65
第六周 1176/4610 1/11 15/65
第七周 864/5474 2/12 15/80
第八周 703/6177 2/14 15/80
posted @ 2018-04-22 17:35  KY-high  阅读(149)  评论(0编辑  收藏  举报