美文网首页
java线程入门基础(一)

java线程入门基础(一)

作者: Venkingk1 | 来源:发表于2020-05-08 00:08 被阅读0次

java线程入门基础(一)

一.基础概念

1.CPU核心数和线程数的关系

多核心:也指单芯片多处理器( Chip Multiprocessors,简称CMP),CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。这种依靠多个CPU同时并行地运行程序是实现超高速计算的一个重要方向,称为并行处理。

多线程: Simultaneous Multithreading.简称SMT.SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或 Cache未命中带来的访问内存延时。

操作系统是通过线程来执行任务的,一般情况下它们是1:1对应关系,也就是说一个核心数对应一个线程数;Intel引入超线程技术后,使核心数与线程数形成1:2的关系

2.CPU时间轮转机制

时间片轮转调度是一种最古老、最简单、最公平且使用最广的算法,又称RR调度。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。

3.什么是进程和线程

3.1 进程

进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、磁盘10等,同一进程中的多条线程共享该进程中的全部系统资源,而进程和进程之间是相互独立的。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的、静态的,进程是活的、动态的。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身,用户进程就是所有由你启动的进程。

3.2 线程

线程是CPU调度的最小单位,必须依赖于进程而存在;

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的、能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

4.澄清并行和并发

谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。

并行:指应用能够同时执行不同的任务,例:吃饭的时候可以边吃饭边打电话,这两件事情可以同时执行;

例如:有一个4车道的道路,并行就是指同一时刻,最多可以4辆车并行行驶;并发就是在1分钟内道路的车流量是多少,并发量是多少;

两者区别:一个是交替执行,一个是同时执行.

5.高并发编程的意义、好处和注意事项

多线程可以给程序带来如下好处

(1)充分利用CPU的资源

(2)加快响应用户的时间

(3)可以使你的代码模块化,异步化,简单化

多线程程序需要注意事项

(1)线程之间的安全性

(2)线程之间的死循环过程

(3) 线程太多了会将服务器资源耗尽形成死机当机

相关文章

  • java线程入门基础(二)

    java线程入门基础(二) 一、认识Java里的线程 1.1 Java里的程序天生就是多线程的 一个Java程序从...

  • java线程入门基础(一)

    java线程入门基础(一) 一.基础概念 1.CPU核心数和线程数的关系 多核心:也指单芯片多处理器( Chip ...

  • Java学习之_必备知识

    一、语言的入门及进阶 Java基础语法 OO编程思想 集合 IO 异常 泛型 反射 多线程 函数式 二、Web基础...

  • Java线程简述

    下面总结一下这段时间学习java线程的一些入门基础知识. 一.什么是线程? 这个问题可以说是每个刚涉及java线...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 2020版本Java300集资料免费分享福利

    2020年,Java零基础到精通资料教材,零基础入门Java,包含Java快速入门课程,干货分享,新基础Java教...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • 阿里P8整理归纳,最全Java学习资料笔记,入门到应用到精通

    这是Java入门到精通最新的学习资料,十分全面,从Java基础、到面试常问的多线程、JVM、设计模式,再到高薪必备...

网友评论

      本文标题:java线程入门基础(一)

      本文链接:https://www.haomeiwen.com/subject/itxvyttx.html