并发编程(1)
2019-11-25 本文已影响0人
禾叶super
什么是并发?
回答一:要说并发就不得不说多线程,线程是进程中的一个执行流程。当我们运行一个程序的时候,其所属进程中至少存在一个执行线程。比如java中的main方法。
实例1:在java中显示声明线程
public class Test {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName()+":before"); // 1
new Thread(new Runnable() { // 2
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+":thread"); // 3
}
}).start();
System.out.println(Thread.currentThread().getName()+":after"); // 4
}
}
main方法是java程序的入口,如果把main方法作为主线程,那么通过new Thread来创建的线程便是新的执行流程。标注为2的代码开辟了新的线程作为执行流程。

如上图所示,因此3和4的执行顺序将无法确定。

如上实例1,一个程序中已经具有2个线程了,当多个线程在同一个程序或JVM实例下运行时,实际意味着此时有多个任务或操作在并发运行。我们所说的并发程序通常就是指那些使用了多线程或多个并发执行流程的应用程序。
程序中为何要使用并发编程?
回答二:使应用程序响应速度更快,减少等待时间并增加吞吐量。