20165225《Java程序设计》第八周学习总结
1.视频与课本中的学习:
- 第十二章学习总结
1.继承Thread类创建线程,程序中如果想要获取当前线程对象可以使用方法:Thread.currentThread();如果想要返回线程的名称,则可以使用方法:getName();
2.实现Runnable接口创建线程
3.使用Callable和Future创建线程
线程常用方法:
start()
run()定义线程线程对象被调度之后所执行的操作
sleep(int millsecond),必须在try-catch语句块中调用sleep方法
isAlive()
协调同步的常用方法:
wait()方法可以中断方法的执行,使本线程等待,暂时让出CPU的使用权,并允许其它线程使用这个同步方法
notifyAll()方法通知所有的由于使用这个同步方法而处于等待的线程结束等待。曾中断的线程就会从刚才的中断处继续执行这个同步方法,并遵循“先中断先继续”的原则
notify()方法只是通知处于等待中的线程的某一个结束等待
线程联合:一个线程A在占有CPU资源期间,可以让其它线程调用join()和本线程联合AWT-EventQuecue线程负责处理GUI事件,AWT-Windows线程负责将窗体或组件绘制到桌面
B.join()
若准备联合的B线程已经执行结束,则B.join()不会产生任何效果
使用Timer类的方法start()启动计时器,即启动线程。使用Timer类的方法stop()停止计时器,即挂起线程,使用restart()重新启动计时器,即恢复线程
守护线程:一个线程调用void setDaemon(boolean on)方法可以将自己设置成一个守护(Daemon)线程
thread.setDaemon(true);
当程序中的所有用户线程都已结束运行时,即使守护线程的run方法中还有需要执行的语句,守护线程也立刻结束运行
2.代码托管:
3.上周错题总结:
周一啦
4.学习心得:
-
线程死亡的时候,我也死亡了。
-
周末愉快。
-
please buy No Tears Left to Cry on itunes!♪(´▽`)