基础:Java中的线程,Thread类与线程的建立java
- 线程是比进程更小的单位。 - JVM(Java虚拟机)中的线程调度器负责管理线程,在采用时间片的系统中,每一个线程都会有机会得到CPU的使用权。 - 线程建立后仅仅是占有了内存资源,在JVM管理的线程中尚未这个线程,此线程必须调用`start()`方法通知JVM。
重点(难点):线程同步,协调同步的线程git
- 线程同步是指几个线程都须要调用同一个同步方法。 - 一个线程在使用同步方法时,可能根据问题的须要,必须使用`wait()`方法暂时让出CPU的使用权。 - 其余线程在使用这个同步方法时若是不须要等待,那么它用完这个同步方法的同时,应当执行`notifyAll()`方法通知全部因为使用这个同步方法而处于等待的线程结束等待。
实用:计数器线程多线程
while
语句里无限循环,那么第2个while
语句中的代码是永远没有机会执行的。若是能在主线程中建立两个线程,那么这两个while
语句将会被轮流执行。run()
方法呢?run()
方法没有具体内容,程序要在Thread类的子类中重写run()
方法来覆盖父类的run()
方法。主人1
,主线程为何没有将这个for循环语句执行完呢?学习
speakElephant.start(); speakCar.start();
此时,JVM已经知道有3个线程了。于是,在main线程使用CPU资源执行到for语句的第1次循环以后,JVM就将CPU资源切换给speakCar线程了。线程
speakCar.start();
去掉,或者改成设计
carTarget.run();
时,JVM认为程序中只有两个线程呢?3d
start()
方法时新建一个线程的方法,若去掉,则视为没有此线程;在carTarget.run();
运行过程当中可能被中断,变成主线程的代码了,JVM只在主线程与Elephant线程中切换。缘由:能够调用RowSet中的方法update来填充其数据区,把update填成了populate。对于RowSet中的方法做用掌握得不清楚。调试
理解状况:已了解该方法。code
缘由:对于executeUpdate不清楚。blog
理解状况:已了解该方法。
缘由:对于数据操做语言了解不清楚。将select也选作了数据操做语言。
理解状况:已掌握数据操做语言的基本内容。
本周学习内容中12章的内容,对于线程的理解更加深刻了。在学习前,对于线程、进程的概念十分混淆,如今也更加明晰了。在学习教材内容的过程当中,线程更接近电脑一些应用程序之类的运行,就不像前几章十分直白的程序语句,只是针对于一个解决课本题目的程序,本章更利于解决实际的程序运行的问题,更加抽象也更加实用。