Java多线程(1)—— 进程与多线程的概念、多线程的优点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx711166/article/details/83000582

Java多线程技能

Java多线程的学习起始是理解Thread类中的核心方法,需要掌握如下关键:

  • 线程的启动
  • 如何使线程暂停
  • 如何使线程停止
  • 线程的优先级
  • 线程安全相关性问题

1.1、进程与多线程的概念、多线程的优点

1.1.1、进程与多线程的概念
  • 进程:是受操作系统管理的基本运行单元。
  • 线程:可理解为在进程中独立运行的子单元。
1.1.2、多线程的优点

示例:任务1是等待远程服务器返回数据,以便进行后期处理,耗时10秒,任务2是返回本地数据,耗时1秒;两任务完全独立、互补相关。

  • 单线程情况下:需要等待任务1先处理,此时CPU一直处于等待状态(空运行),任务2需要在10秒后才能运行。
    在这里插入图片描述
  • 多线程情况下:CPU在任务1和任务2之间来回切换,使得任务2不必等到10秒后再运行。
    在这里插入图片描述

单线程与多线程对比:

对比项 单线程 多线程
执行方式 排队执行(同步) 切换执行(异步)
CPU利用率

注意:多线程是异步的,但是不要把Eclipse里代码的顺序当成线程执行的顺序,线程被调用的时机是随机的

猜你喜欢

转载自blog.csdn.net/zx711166/article/details/83000582
今日推荐