什么是线程&多线程和进程的区别:
在现在系统运行一个程序是,会创建一个进程,而在操作系统中调度的最小单位元是线程,在一个进程可以创建多个线程,这些线程拥有各自的计数器,堆栈,局部变量的等属性,能够访问共享的内存变量。
进程:正在运行的程序,是系统进行资源分配和调用的独立单位,每个进程都有独立的内存空间和系统资源
线程:是进程中的单个顺序控制流,是一条执行路径,一个进程如果只有一条执行路径,则成为单线程程序
一个进程如果有多条执行路径,则称为多线程程序
多线程的创建和启动
public class MyThread extends Thread{
public void run(){}
}
new-> MyThread.start();
//
public class MyRunnable implements Runnable{
public void run(){}
}
Thread t=new Thread(new->MyRunnable)
//
Scanner的使用
Scanner scanner=new Scanner(System.in);
if(scaner.hasNext()){
String string=scanner.next();
}
scanner.close();
//
在多线程中Scanner.close()函数,关闭scanner的读取通道,其函数会调用static函数,所以在多线程中会有互斥的问题,导致另外线程中的Scanner也会close();
}