Java 多线程 01
Posted zhaochuming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 多线程 01相关的知识,希望对你有一定的参考价值。
多线程· Runnable 和 Thread
多线程的引入
* A:什么是线程
* 线程是程序执行的一条路径,一个进程中可以包含多条线程
* 多线程并发执行可以提高程序的效率,可以同时完成多项工作
* B:多线程的应用场景
* 红蜘蛛同时共享屏幕给多个电脑
* 迅雷开启多条线程一起下载
* QQ同时和多个人一起视频
* 服务器同时处理多个客户端请求
多线程并行和并发的区别
* 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也同时进行(需要多核CPU)
* 并发是指两个任务都请求运行,而处理器只能接收一个任务,于是就安排轮流执行这两个任务,由于时间间隔较短,因此用户感觉两个任务同时运行
* 比如:我和两个网友聊天,左手操作一个电脑,右手操作另一个电脑,就叫并行
* 如果用一台电脑先给一个人发消息,再用这台电脑给另一个人发消息,这就叫并发
Java程序运行的原理和JVM的启动
* A:Java程序运行原理
* Java命令会启动Java虚拟机,启动JVM就等于启动了一个应用程序,也就是启动了一个进程,
* 该进程会自动启动一个“主线程”,然后主线程区调用某个类的main方法
* B:JVM的启动
* JVM的启动至少启动了垃圾线程和主线程,所以是多线程的
package com.heima.thread; public class Demo1_Thread { // 证明JVM是多线程的 public static void main(String[] args) { for (int i = 0; i < 390000; i++) { new Demo(); } for (int i = 0; i < 10000; i++) { System.out.println("我是主线程的执行代码"); } } } class Demo { // 垃圾清理线程 @Override public void finalize() throws Throwable { System.out.println("垃圾被清扫了"); } }
Thread 实现多线程
* A:继承Thread
* 定义类继承Thread
* 重写 run()方法
* 把新线程要做的事写在 run()方法中
* 创建线程对象
* 开启新线程,内部自动会执行 run()方法
以上是关于Java 多线程 01的主要内容,如果未能解决你的问题,请参考以下文章