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

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

教材学习内容总结

  • 进程:进程是程序的一次动态执行过程,对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。

  • 线程:线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有自身的产生、存在和消亡的过程。

  • 主线程:该线程负责执行main方法。

  • 创建线程:用Thread的子类创建线程对象;直接使用Thread类创建线程对象,构造方法是Thread(Runnable target)。

  • 线程的常用方法:

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

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

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

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

  • 线程同步:当程序中若干个线程都需要使用一个方法时,这个方法要用synchronize给予修饰。

  • 一个线程A在占用CPU资源期间,可以让其他线程调用join()和本线程联合,例:B.join。

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

  • 问题1:进程有哪几种状态?

  • 问题1解决方案:先在书上浏览,没找到相关信息,后来去网上查找了一下。

(1)run(运行状态):正在运行的进程或在等待队列中对待的进程,等待的进程只要以得到cpu就可以运行;

(2)Sleep(可中断休眠状态):相当于阻塞或在等待的状态;

(3)D(不可中断休眠状态):在磁盘上的进程;

(4)T(停止状态):这中状态无法直观的看见,因为是进程停止后就释放了资源,所以不会留在linux中;

(5)Z(僵尸状态):子进程先与父进程结束,但父进程没有调用wait或waitpid来回收子进程的资源,所以子进程就成了僵尸进程,如果父进程结束后任然没有回收子进程的资源,那么1号进程将回收;

  • 问题2:主线程对于于main方法,那如果主线程运行完毕,还会运行其他线程嘛?

  • 问题2解决方案:我在浏览课本之后又查阅了一下资料,了解这个问题:一个进程最终会在所有的线程结束后退出,而不是主线程结束后退出。

代码托管

1296608-20180421112413495-1839721487.png

上周考试错题总结

  • 错题1及理解情况:接口RowSet继承了接口ResultSet,可以调用RowSet中的方法update来填充其数据区。

  • 错题2及理解情况:Statement的executeUpdate()方法会返回是否更新成功的int值。

感悟:

学习越来越复杂,应用的知识越来越多,本周进行的课上测试的数据库,我就由于电脑问题,前期的准备特别多,导致很麻烦,具体问题在课下作业选做的博客中已经提到了,不过还好最后还是成功了。而本周的学习,主要是围绕线程来进行的,创建线程、实现各个线程的轮流执行等,收获很大。

转载于:https://www.cnblogs.com/brs666/p/8900110.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值