JAVA 多线程
JVM:
1.虚拟机栈和程序计数器每个线程会单独生成
2.方法区和堆是多线程共享的
多线程优点:
1、提高计算机系统CPU的利用率
2、将既长又复杂的进程分为多个线程,独立运行,利于理解和修改
创建多线程方式:
方式一、创建一个类继承Thread类 ,重写run()方法 ,在run()方法里面写线程需要执行的逻辑 ,在主线程中实例化这个类 ,并调用start()方法启动线程 ,会自动执行run()方法
方式二、
1)定义子类,实现Runnable接口。
2) 子类中重写Runnable接口中的run方法。
3) 通过Thread类含参构造器创建线程对象。
4) 将Runnable接口的子类对象作为实际参数传递给Thread类的构造器中。
5) 调用Thread类的start方法:开启线程,调用Runnable子类接口的run方法
两种方式的区别:
1. 继承Thread:线程代码存放Thread子类run方法中。
2. 实现Runnable:线程代码存在接口的子类的run方法。
实现方式的好处
1.避免了单继承的局限性
2. 多个线程可以共享同一个接口实现类的对象,非常适合多个相同线程来处理同一份资源。