多线程的好处是什么?_四猿外的博客-程序员宝宝_多线程的好处

技术标签: java  多线程  

1、发挥多核CPU 的优势

多线程,可以真正发挥出多核CPU 的优势来,达到充分利用CPU 的目的,采用多线程的方式去同时完成几件事情而不互相干扰。

2、防止阻塞

从程序运行效率的角度来看,单核CPU 不但不会发挥出多线程的优势,反而会因为在单核CPU 上运行多线程导致线程上下文的切换,而降低程序整体的效率。但是单核CPU 我们还是要应用多线程,就是为了防止阻塞。试想,如果单核CPU 使用单线程,那么只要这个线程阻塞了,比方说远程读取某个数据吧, 对端迟迟未返回又没有设置超时时间,那么你的整个程序在数据返回回来之前就停止运行了。

多线程可以防止这个问题,多条线程同时运行,哪怕一条线程的代码执行读取数据阻塞, 也不会影响其它任务的执行。

3、便于建模

这是另外一个没有这么明显的优点了。假设有一个大的任务A,单线程编程,那么就要考虑很多,建立整个程序模型比较麻烦。但是如果把这个大的任务A 分解成几个小任务,任务B、任务C、任务D,分别建立程序模型,并通过多线程分别运行这几个任务,那就简单很多了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/siyuanwai/article/details/119306680

智能推荐

RISC-V MCU应用教程之ADC_借过风景的博客-程序员宝宝

简介CH32V103系列是以青稞V3A处理器为核心的32位通用RISC-VMCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。本章教程使用CH32V103开发板的ADC1通道1对开发板的VCC引脚和GND引脚进行采样,并将采样结果通过串口调试助手打印显示。1、ADC及相关函数介.

乐优商城(09)--商品详情_Learner-Wang的博客-程序员宝宝_乐优商城页面

乐优商城(09)–商品详情一、商品详情1.1、商品详情页服务商品详情浏览量比较大,并发高,所以独立开发一个微服务,用来展示商品详情创建module商品的详情页服务,命名为:leyou-goods-webpom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2

ssm idea后端接收数据输出在控制台时出现中文乱码_CSND老鱼的博客-程序员宝宝

idea 后端接收数据输出在控制台时出现中文乱码环境maven项目,ssm框架(spring+springmvc+mybatis)注解和配置文件混合开发,tomcat服务器解决乱码的方式(推荐将以下几种方式全部设置以下)方式一:在idea中File—>setting中设置编码格式方式二:在设置idea中tomcat服务器的编码格式-Dfile.encoding=UTF-8如果以上方式全试了都还没成功的话,就看以下的方式方式四:在idea软件安装路径的bin目录内的文件中设

浅谈深度学习中超参数调整策略_老潘的博客的博客-程序员宝宝

 欢迎访问Oldpan博客,分享人工智能有趣消息,持续酝酿深度学习质量文。前言深度学习中,设计模型以及保证模型的正确性是首要需要考虑的。当模型设置完成时,理论上模型不存在问题,实现效果也通过计算可以复现出来。一切准备就绪后,那么接下来需要操作的就是——调参了。正文为什么很多人都称深度学习为炼丹?为什么丹药那么难炼?为什么为什么,因为炼丹的调料放多少不知道啊?得一个一个去...

【互动媒体技术】十二个“一”的文艺创作_啥也不会の冷月的博客-程序员宝宝

背景故事:十二个“一”是住在同一个小区里的一群年轻人,他们住在B栋6楼,每4个人合租1间房子,房间号分别是603、605、606。他们彼此之间有着浓厚的友谊,日常生活丰富多彩。603号房间:小陆(男生):小陆是605号房间的小岑的表弟,在一家互联网公司工作,是一个标准的工科程序员。小陆的计算机天赋很不错,不过相应的,他在感情方面可以说是一窍不通。小陆最喜欢的事情就是下班之后和室友们一起出去...

Java AES文件和文本加解密_天空是蓝的的博客-程序员宝宝

在项目开发中,有时会遇到对文件进行加密、或者文本进行加密,目前加密方式最好的还是AES方式,AES和DES基本相同,只是位数不同而已,AES具体是怎么加密大家可以自行百度搜搜即可部分代码:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.I

随便推点

整数反转(力扣)_Aviva迪迪的博客-程序员宝宝

整数反转一、题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-

用MFC编写访问HTTPS程序之忽略无效证书验证_sail0323的博客-程序员宝宝

转自:http://blog.csdn.net/lwwworkspace/article/details/6697194最近需要写一个与HTTPS通讯的APP,但是由于本人是第一次编写这样的网络程序,所以忽略无效证书验证这个问题一直困扰了1-2天,由于在网上的资料基本上都是说同样的问题,但是忽略了一点没有说明的,就是要Query服务器的状态,经过本人不断的查资料,结果终于找到了

IO流案例:验证码_古城的风cll的博客-程序员宝宝

/*一、 分析以下需求,并用代码实现:实现一个验证码小程序,要求如下: 1. 在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行; 2. 键盘录入一个需要被校验的验证码,如果输入的验证码在data.txt中存在:在控制台提示验证成功,如果不存在控制台提示验证失败*/public class Demo6 { publ...

C#基础 List ToArray List转换为数组_心少朴的博客-程序员宝宝_c# list.toarray

 .NET Framework : 4.7.2       IDE : Visual Studio Community 2019        OS : Windows 10 x64    typesetting : Markdown        blog : blog.csdn.net/yushaopu       gi...

【Unity】 HTFramework框架(二十九)OCR文字识别_神码编程的博客-程序员宝宝

更新日期:2019年12月30日。Github源码:[点我获取源码]索引OCR文字识别简介使用OCR文字识别设置TOKEN调用不同的识别方法开始识别OCR文字识别简介对接百度AI开放平台,封装的文字识别接口。使用OCR文字识别设置TOKEN文字识别需要鉴权认证的通行令牌TOKEN,登录百度AI开放平台控制台,通过新建应用获取应用的APIKEY和SECRETKEY,在任意初始化位置...

推荐文章

热门文章

相关标签