并发与并行
并行:指两个或多个事件在同一时刻发生(同时发生)
并发:指两个或多个事件在同一个时间段内发生
线程和进程区别
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的存储空间,一个应用程序可以同使运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序既是一个进程从创建、运行到消亡的过程。
线程:进程内部的一个独立执行单元;一个进程可以同时并发的运行多个线程,可以理解为一个进程便相当 于一个单 CPU 操作系统,而线程便是这个系统中运行的多个任务。
火车票练习
public class ThreadDemo extends Thread{
private static int count = 100;
Object obj = ThreadDemo.class;
@Override
public void run() {
while (true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (obj){
if (count>0){
System.out.println(Thread.currentThread().getName()+" --> "+(count--));
}else {
System.out.println("票已经售完");
System.exit(0);
}
}
}
}
public static void main(String[] args) {
ThreadDemo main1 = new ThreadDemo();
main1.setName("第一个窗口");
main1.start();
ThreadDemo main2 = new ThreadDemo();
main2.setName("第二个窗口");
main2.start();
ThreadDemo main3 = new ThreadDemo();
main3.setName("第三个窗口");
main3.start();
}
}