线程(thread)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。

简单来说,你每个CPU核心就是一个 线程 AMD的CPU几核心的就是几线程。

比如 AMD速龙II X4 641 就是4核4线程

INTEL就不同了他有个超线程技术有这个技术的线程数就是核心数的2倍,因为它每个核心同时支持2个进程!

比如I5 3450 就是4核4线程,高端的I7就支持超线程技术i7 3970X就是6核12进程

作用:

简单说就是CPU的作用,线程多了可以提高程序并行执行的速度,但是并不是越多越好,其中,每个线程都要占用内存,多线程就意味着更多的内存资源被占用,其二,从微观上讲,一个cpu不是同时执行两个线程的,他是轮流执行的,所以线程太多,cpu必须不断的在各个线程间快回更换执行,线程间的切换无意间消耗了许多时间,所以cpu有效利用率反而是下降的

java 线程的作用_线程的作用是什么相关推荐

  1. java 信号量 互斥锁_线程同步(互斥锁与信号量的作用与区别)

    "信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里).而互斥锁是用在多线程多任务互斥的,一 ...

  2. 线程并发库和线程池的作用_线程和并发介绍

    线程并发库和线程池的作用 本文是我们名为Java Concurrency Essentials的学院课程的一部分. 在本课程中,您将深入探讨并发的魔力. 将向您介绍并发和并发代码的基础知识,并学习诸如 ...

  3. java executors 详解_线程池Executors详解

    为什么要用线程池呢? 一是减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务; 二是可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累 ...

  4. java同步锁售票_线程同步锁之火车站售票案例

    前言: 谈到多线程,就不得不说线程同步,那么什么是线程同步? 线程同步 即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作 ...

  5. java线程池大小_线程池大小设置多少合适?java如何合理设置线程池大小?

    在连接数据库时我们经常会用到线程池,而有时候我们就会烦恼,线程池的大小究竟该设置成多大才合适呢?小伙伴们知道要如何合理设置线程池大小吗?下面跟小编一起来看看吧. 一般来说,我们线程池究竟设置多大是基于 ...

  6. java executors 详解_线程池—Executors 详解

    各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题 线 ...

  7. java 线程亲缘性_线程的调度、优先级和亲缘性

    每隔20ms左右,Windows要查看当前存在的所有线程内核对象.在这些对象中,只有某些对象被视为可以调度的对象.Windows选择可调度的线程内核对象中的一个,将它加载到CPU的寄存器中,它的值是上 ...

  8. 线程停止继续_线程不是你想中断就能中断

    这是我2021年的第2篇原创文章,原汁原味的技术之路尽在Jerrycodes 为什么不强制停止 如何用 interrupt 停止线程 sleep 期间能否感受到中断 停止线程的方式有几种 总结 启动线 ...

  9. 如何保证线程安全有序性_线程安全性-原子性-可见性-有序性

    一.相关定义: 线程安全类:当多个线程访问某个类时,不管运行环境采用何种调度方式或者这些进程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安 ...

  10. 线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源

    线程生命周期 线程状态 New: 线程创建(new Thread()) Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度 ...

最新文章

  1. R语言爬取imdb电影海报
  2. C语言程序设计之十六进制显示
  3. Toping Kagglers:Bestfitting,目前世界排名第一
  4. 垃圾回收机制之复制算法
  5. windows查看usb信息命令_【VPS】Linux VPS查看系统信息命令大全
  6. Linux - 时间相关命令 - ntpdate, date, hwclock
  7. 【随记】SQL Server连接字符串参数说明
  8. 2017《面向对象程序设计》课程作业三
  9. Linux系统上Crontab定时执行教程
  10. cookie代码加时间多久出现一次_恶意代码分析 丨 一个毫无套路的咸鱼诈骗网站...
  11. Farthest sampling on 3d mesh with mesh kept
  12. Spark如何定位导致数据倾斜的代码
  13. 张本伟:IT人如何收入500万?
  14. 改之理java文件_apk改之理反编译错误,来大神
  15. JAVA java学习(46)——————如何将Eclipse设置为中文版
  16. 携程实习生春招面经-后台开发
  17. 【人工智能项目】- 卷积神经网络实现游客评价情绪鉴别
  18. 慕课网 小慕机器人总结
  19. 集成阿里云OSS编写AliyunOSSUtil
  20. Miku Miku Dance DxOpenNI for OpenNI 2

热门文章

  1. h5跳转微信小程序方案及注意事项(vue方向)
  2. cordova操作Android本地文件系统
  3. MVC5+EF6 入门完整教程6 :分部视图(Partial View)
  4. linux启动根文件系统
  5. 监控指标--监控指标(3)
  6. 开源一个优雅的类图生成工具
  7. Autolabeling 3D Objects with Differentiable Rendering of SDF Shape Priors
  8. 园林计算机制图在计算机上的应用,浅谈计算机园林效果图在园林景观设计中运用.doc...
  9. 任务创建 app.c代码讲解
  10. 农村大学生的逆袭--031拉近与领导的距离