java之多线程笔记

本文详细介绍了多线程技术的基础知识,包括多线程的概念、实现方式、线程类的常用方法及线程安全问题等内容。通过实例演示了继承Thread类、实现Runnable接口和使用Callable与Future接口来创建多线程的全过程。

多线程的学习

目录

  • 简单了解多线程
  • 线程相关的概念
  • 多线程的实现方式
  • 线程类的常见方法
  • 线程的安全问题
  • 死锁
  • 生产者消费者

第一章 初识多线程

简单了解多线程

多线程是指,从软件或者硬件上实现多个线程并发执行的技术。

具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提高性能。

简单来说就是cpu在多个应用程序之间做高速的切换,给人一种同时执行的感觉。

对多线程技术的初步理解,总结:

1.多线程技术就是同时执行多个应用程序。

2.多线程技术需要硬件支持。

第二章 线程相关概念

实现多线程

并发和并行

  • 并行:在同一时刻,有多个指令在多个cpu上同时执行。
  • 并发:在同一时刻,有多个指令在单个cpu上交替执行

进程和线程

  • 进程:是正在运行的软件。

它有三个特性:

1.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的基本单位。

2.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。

3.并发性:任何进程可以同其他进程一起执行。

  • 线程:是进程中的单个顺序控制流,是一条执行路径。

1.单线程:一个进程如果只有一条执行路径,则称为单线程程序。

2.多线程:一个进程如果有多条执行路径,则称为多线程程序。

总结:

进程:就是操作系统中正在运行的一个应用程序。

线程:就是应用程序中做的事情。比如:某杀毒软件中的,杀毒,扫描木马,清理垃圾等。

第三章 多线程的实现方式

多线程的实现方案

  • 继承Thread类的方式进行实现
  • 实现Runnable接口的方式进行实现。
  • 利用callable和Future接口方式实现

方案1:继承thread类

四个步骤:

1.定义一个MyThread类继承Thread

2.在MyThread类中重写run()方法

3.创建MyThread类的对象

4.启动线程

上代码:

package com.company; public class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("线程开启了" + i); } } } class Test { public static void main(String[] args) { // 创建一个线程对象 MyThread t1 = new MyThread(); // 创建一个线程对象 MyThread t2 = new MyThread(); // 开启一条线程 t1.start(); // 开启第二条线程 t2.start(); } }

执行结果具有随机性,每次结果都不一样。

两个小问题:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值