首页 > 编程语言 >java线程

java线程

时间:2022-11-17 08:23:12浏览次数:42  
标签:java 程序 线程 切换 进程 执行 CPU

1.线程的历史

  单进程人工切换 -纸带机 CPU利用率不高,CPU在等人切换纸带.

  多进程批处理 -多个任务批量执行 ABCDE5个任务(一个QQ,一个微信,一个传奇,一个QQ音乐,一个WPS)批量执行,A卡住了,后面BC...都不能执行.

  多进程并行处理- 把程序写在不同的内存位置上来回切换.

  多线程-一个程序内部不同任务的切换.

     -selector - epoll

  纤程(java)/协程(go)-绿色线程,用户管理的线程(不是OS管理的). 

  什么是进程,操作系统找到磁盘上的QQ.exe ,并把它读到内存里面.操作系统为每一个进程分配一些资源,比如说内存空间、文件描述符、IO端口号等等.程序就放在硬盘上,真到他开始执行的时候,才把他放到内存里.放到内存后,哪个程序要执行,把他放到CPU去执行.一个程序有多个进程,但代码可以控制成只有一个进程,都可以。进程:操作系统进行资源分配的基本单位。是一个静态单位.

       

 

      什么是线程:一个程序的不同执行路径 ,多线程一个程序有多个不同的执行路径. 程序是以线程为单位开始执行的,操作系统会找到我们的主线程main方法,扔给CPU去执行,主线程开启了别的线程 ,CPU  A线程执行一会,B线程执行一会会产生线程,就产生了线程的切换. 线程是在进程的内部,是调度执行的基本单位。线程是一个动态的概念,多个线程共享同一个进程里面的所有资源.很多麻烦事在共享资源里面开始产生.

     线程切换

标签:java,程序,线程,切换,进程,执行,CPU
From: https://www.cnblogs.com/belen87/p/16898218.html

相关文章

  • Java新特性(1):Java 9和Java10
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 自从Java在2009年被Oracle收购之后,就不再开源,除了Oracle官方发布的版本之外,还有OpenJDK版本,这两者的区别可以自行找某度......
  • 牛客java基础语法在线编程-知识点小结(待完善)
    知识点小结一、输入输出Scanner类Scanner类在java.util包下,导包格式如下:importjava.util.Scanner;使用示例:importjava.util.Scanner;classMain01{publ......
  • Linux网络编程 使用socket实现简单服务器——多进程&多线程版本
    1.多进程版服务端#include<stdio.h>#include<arpa/inet.h>#include<unistd.h>#include<string.h>#include<stdlib.h>#include<signal.h>#include<wait.h>#include......
  • LiquibaseException java.lang.ClassCastException: class java.time.LocalDateTime c
      https://forum.liquibase.org/t/liquibaseexception-java-lang-classcastexception-class-java-time-localdatetime-cannot-be-cast-to-class-java-lang-string/5059......
  • JAVA IO流
    纯文本字符流比字节流效率高.1.这个理解的特别好:http://t.zoukankan.com/liaozuheng-p-13046873.html2.节点流与处理流的介绍:https://blog.csdn.net/wcg920212/article/d......
  • C#多线程(二)同步基础篇
    C#多线程(二)同步基础篇 回顾上节:我们对多线程已经有了基础的认知,知道其工作原理和一些基本维护操作,并且引出了线程安全的概念。这一篇我们要讲的主题--同步,是解决线程......
  • C#多线程(三)线程高级篇
    C#多线程(三)线程高级篇 前言抛开死锁不谈,只聊性能问题,尽管锁总能粗暴的满足同步需求,但一旦存在竞争关系,意味着一定会有线程被阻塞,竞争越激烈,被阻塞的线程越多,上下文切......
  • JAVA课程设计(附源码)
    Java课程设计选题Java课程设计说明本次课程设计的目的是通过课程设计的各个项目的综合训练,培养学生实际分析问题、编程和动手能力,提高学生的综合素质。本课程设计尝试使......
  • tensorflow1.x——如何在C++多线程中调用同一个session会话tensorflow1.x
     =================================================  从前文​​tensorflow1.x——如何在python多线程中调用同一个session会话​​可以知道,使用python多线程调用同一......
  • 多线程
    程序同时执行多个任务使用线程可以把占据长时间的程序中的任务放到后台去处理。程序的运行速度可能加快一、线程实现方法  线程是CPU分配资源的基本单位。当一......