Java入职-01-多线程快速入门-mykt

大家好,欢迎来到小亮的笔记世界

简单介绍一下自己,95后小哥哥,高中毕业,泽宇教育优秀学员,Youcore框架学员,Angie价值变现研习社理财分群组长。现某机构学生,自学java,准备入职。

这是我的第一篇博客,打算用博客和OneNote沉淀自己的知识体系。做到自然重复。

学习本文的方法:朗读文字→手打或手写代码→复述→不看文章练习代码→熟能生巧→讲解给他人听→完成。

因为学习课程也该如此,基础永远都是要花大功夫钻研的。务必认真,专注和踏实。

好的,我们开始。

1.1 进程和线程的区别
Java入职-01-多线程快速入门-mykt_第1张图片
打开Eclipse-新建Java Project,如下图
Java入职-01-多线程快速入门-mykt_第2张图片
随便新建一个类,打知识点,我的是Know类
Java入职-01-多线程快速入门-mykt_第3张图片
Java入职-01-多线程快速入门-mykt_第4张图片
1.什么是线程?什么是进程?什么是多线程?

 * 进程就是运行在电脑上的程序,每个程序都是一个进程,比如QQ,eclipse,微信,这些都是进程,有自己的执行路径,
 * 在电脑的任务管理器可以查看。
 * 线程就是这些进程,也就是这些程序的集合。 
 * CPU不停地切换进程和线程,所以我们看到的是多个软件同步运行。 多线程,就是提高运行效率的一种开发模型。

Java入职-01-多线程快速入门-mykt_第5张图片
2.线程与进程的区别

 一句话理解:进程是所有线程的集合,每一个线程是进程中的一条执行路径。
 
 * 解释:每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。
 * 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。
 * 也可以把它理解为代码运行的上下文。
 * 所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。

总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径。

Java入职-01-多线程快速入门-mykt_第6张图片

3.为什么要使用多线程?

 * 为了提高程序效率,提升用户体验,创造更大的价值。
 * 举例:迅雷多文件下载,微信群发,QQ群发,游戏中多模块加载等等

Java入职-01-多线程快速入门-mykt_第7张图片

4.多线程的应用场景有哪些?

 * 基本上所有与用户相关的领域都要用到多线程。
 * 微信,QQ,千聊,迅雷文件下载,甚至是打字软件,word文档,爬虫,ajax,没有一个没用到的。

Java入职-01-多线程快速入门-mykt_第8张图片

5.创建线程的方式(重点)
1.继承thread类,也就是重写run方法。

鼠标点到左边的Package Explorer Ctrl+N 新建class

Java入职-01-多线程快速入门-mykt_第9张图片

初始状态如下

Java入职-01-多线程快速入门-mykt_第10张图片

先建子线程,在用main方法主线程调用。写一个CreateThreadDemo1类

Java入职-01-多线程快速入门-mykt_第11张图片
注意:
1.这个类继承Thread类,千万别写错了。
2.class前面是默认修饰符friendly
不然打run不会自动生成,而且还会报错

然后写一个30次的for循环
Java入职-01-多线程快速入门-mykt_第12张图片
然后调用:
调用步骤 主类 main方法 回车 新建对象: 这里就copy类名快一些
CreateThreadDemo1 t1 = new CreateThreadDemo1();

然后启动线程,这里注意,不是调用run();,而是调用start();
Java入职-01-多线程快速入门-mykt_第13张图片

下面写个for循环,标记主线程
Java入职-01-多线程快速入门-mykt_第14张图片
总代码如下:

package com.itmayiedu;

 class CreateThreadDemo1 extends Thread{
	/**
	 * run方法就是线程需要执行的任务或者执行的代码
	 */
	public void run() {
		for (int i = 0; i < 30; i++) {
			System.out.println("线程run:i"+i);
		}
	}
}

public class ThreadDemo1 {
		public static void main(String[] args) {
			CreateThreadDemo1 t1 = new  CreateThreadDemo1();
			t1.run();
			for (int i = 0; i < 30; i++) {
				System.out.println("主线程main:i"+i);
			}
		}
}

然后我们运行看看

Java入职-01-多线程快速入门-mykt_第15张图片

哦豁,写错了。用的是run(); 不是线程运行,改回来。

Java入职-01-多线程快速入门-mykt_第16张图片

现在看到,主线程和线程run交替执行,对吧。这个就是多线程,异步执行。

ok,今晚先睡,明天更新。

你可能感兴趣的:(Java入职,Java)