线程简单学习:
线程有新建、就绪、运行、阻塞、死亡五中状态。
继承Thread类,并重写run函数
实现Runnable接口,并重写run函数
都可以实现线程,一旦启动线程则程序就会执行run函数里面的语句。如果需要两
个程序同时在后台运行,则必须把他们都变成线程,如果他们不是线程,则java只
会按照你写的代码的先后去一个一个的执行这两个程序。例如一个程序输出1到100
,另外一个输出100到1,如果这两个不是线程,那么则按照你写的代码的顺序来执
行这两个程序。但如果这两个是线程的话,他们两个就可以同时执行,间隔的输出
1-100和100-1。
尽可能使用实现Runnable的接口方法来创建线程,因为一个类只能继承一次,如果
先继承了Thread类,则无法继承其他类了。
在使用Thread类时候,只需要new一个实例出来,调用start()方法即可启动线程
,如:
Thread test = new Thread();
text.start();
在使用Runnable时候需要先new一个实现Runnable的实例,之后用Thread调用:
Test implements Runnable
Test t = new Test();
Thread test = new Thread(t);
test.start();
一个类实现Runnable接口后,在哪里创建的该类就应该在哪里启动该线程!可以用
sleep方法来控制线程执行间隔。
Thread.sleep(millisecond);可以让线程睡眠,以让出资源。用其可以控制线程
的执行间隔。
Thread,wait()可以让线程等待,即资源不满足时可以让线程先等待。
Thread.notify() 可以唤醒线程,即通知线程可以不用等待了,要出来做事了。
线程等待和唤醒语句要在同步语句块中!