1.线程和进程(线程:一个程序的不同执行路径)
2.线程的例子
public class Test {
public static void main(String[] args) {
Runner r = new Runner() ;
// r.run(); //方法调用 ,不存在多线程同时进行
Thread t = new Thread(r) ;
t.start();//双线程交替进行,且main具有高优先级
for (int i = 0; i < 1000 ; i++) {
System.out.println("main:"+i);
}
}
}
class Runner implements Runnable{
public void run(){
for (int i = 0; i < 1000 ; i++) {
System.out.println("runner:" + i );
}
}
}
3.线程同步与锁的概念。(synchronized关键字,只能由此线程访问该对象)。
死锁的概念:死锁是因为多线程访问共享资源,由于访问的顺序不当所造成的,通常是一个线程锁定了一个资源A,而又想去锁定资源B;在另一个线程中,锁定 了资源B,而又想去锁定资源A以完成自身的操作,两个线程都想得到对方的资源,而不愿释放自己的资源,造成两个线程都在等待,而无法执行的情况。