今天是一些线程问题:
1个进程有多个线程
并行:同时运行,齐头并进
并发:在一定时间范围内共同运行
线程只能启动一次 start()方法
public class SynchronizedDemo implements Runnable {
static Object o = new Object();
public static void main(String[] args) {
SynchronizedDemo s = new SynchronizedDemo();
Thread t1 = new Thread(s);
Thread t2 = new Thread(s);
t1.start();
t2.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
synchronized(o){
o.notifyAll();
for(int i = 1;i<=10;i++){
System.out.println(Thread.currentThread().getName()+"..."+i);
if(i==5){
try {
o.wait(); //进入阻塞状态(等待池),不执行下调语句,直到被唤醒后继续向下执行
o.notifyAll();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
然后就主要编写线程问题里面典型的消费者和生产者的问题
主要用到 同步锁(synchronized)