这周学习了有关线程以及并发,下面总结一下:
Java创建线程有两种方法:
1)、创建继承Thread类的子类。
2)、创建实现Runnable接口的类。
两种方法都可取,但是还是可以比较出来两者的差别,第一种的有点很明显,代码简单;第二种,符合OO思想,而且便于用extends继承其他类。两者都有优点那么用那种呢?个人觉得第二种比较好,因为Java只支持单继承,但是接口可以多个。
线程是一个程序的单个执行流,一个线程可以同时执行多个任务。
创建执行run方法的新线程应该调用Thread.start方法,不要调用Thread类或Runable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程。
线程会被终止有两个原因:一,因为run方法正常退出而自然死亡;二,因为一个没有捕获的异常终止了run方法而意外死亡。
rrupt方法可以用来请求终止线程。