两种方法:
1.extends Thread ---->对同一对象start()多次,其实只启动了一次
2.implements Runnable ————>new Thread(new TestThread()).start(); --->对同一对象start()多次,则启动多个线程,这些线程可共用同一资源
如:
setDaemon(true)方法,设为后台线程。
一个线程在运行之前调用setDaemon(true)方法,就被设为后台线程。
join()方法--合并线程
线程同步的方法
1.synchronized代码块
2.在方法前加synchronized修饰符
public synchronized void test()
{
}
注意:线程的start()方法调用后,线程只是处于就绪状态,CPU不一定立即执行此线程。
synchronized函数的同步标志是this