首页 > 其他分享 >学习day1

学习day1

时间:2024-09-26 21:36:36浏览次数:1  
标签:Thread pid day1 学习 并发 线程 waitting 方法

什么是并发,同时做多件事情。高并发是,需要做的事情数量超过了承载限度。为了解决高并发问题,所以要用多线程。

 

线程的生命周期 线程的创建可以实现runnable接口,继承Thread类,实现Callable/Future,

线程的状态有new,runnable,blocked,waitting,timed_waitting,terminated.

 

打开终端命令,输入"jps"(显示当前所有Java进程pid); 根据获取到的pid, 通过jstack pid ,可以打印指定Java进程ID的堆栈信息 通过堆栈信息,可以看到线程的运行状态

 

Thread提供了线程的一些操作方法,比如stop、suspend,这些方法可以终止一个线程或者 挂起一个线程,但是这些方法都不建议大家使用。容易产生问题,是一种不安全的操作。

有一种优雅地结束线程的方法,interrupt方法。

 


 

并发带来的问题

i++,原子性问题。

是因为线程的并行导致的,解决方法是上锁,加上synchronized锁或者lock,改成串行。

 

cpu读取缓存的过程中,串行可以保证准确性,但是效率低下,Store Buffer和Invalidate Queue可以实现异步,提高效率,但会带来的可见性问题。

可见性的解决办法是上锁,总线锁和mesi,但这又限时了性能。

cpu缓存读取中, 准确性和性能是相互制约的。

 

 

标签:Thread,pid,day1,学习,并发,线程,waitting,方法
From: https://www.cnblogs.com/SHINIAN200/p/18434443

相关文章

  • 虚树 学习笔记
    虚树VirtualTree学习笔记引入P2495[SDOI2011]消耗战题目大意:给一棵\(n\)个点的树,\(m\)次询问\(k\)个点,要求切断一些边使点1不可达这些点,求最小切断的边权和。\(n\le2.5*10^5,m\le5*10^5,\sumk\le5*10^5\)先考虑一个朴素的DP,每次询问扫一遍整个树。设\(f_......
  • 2-SAT 学习笔记
    2-SAT学习笔记本文同载于本人的洛谷文章。参考资料算法2-SAT用于解决什么样的问题?问题给定\(n\)个大小为2的集合,每个集合要选其中一个元素,不能同时选,有\(m\)个条件\((a,b)\)代表元素\(a,b\)不能同时选,构造方案或判定无解。例子有3个集合:\(\{a,\nega\},\{b,......
  • Python从0到100(五十八):机器学习-随机森林及对复杂数据集分类
    随机森林通过构建多个决策树来完成分类或回归任务。随机森林的核⼼思想是通过多个弱学习器(决策树)的集成来构建⼀个强学习器,从⽽提⾼模型的泛化能⼒和稳定性。1.基本原理随机森林的基本原理如下:从训练集中随机抽取⼀定数量的样本(有放回抽样),构建⼀个决策树(称为⾃助采样法或......
  • 卷积神经网络-迁移学习
    文章目录一、迁移学习1.定义与性质2.步骤二、BatchNormalization(批次归一化)三、ResNet网络1.核心思想2.残差结构(1)残差块(2)残差结构类型四、总结一、迁移学习迁移学习(TransferLearning)是一种强大的机器学习方法,其核心思想是将在一个任务(源任务)上学到的知识或模型......
  • 深度学习:ResNet残差神经网络
    目录一、什么是ResNet残差神经网络二、残差结构三、18层残差网络1.最初残差网络变体2.图片示例3.表格示例四、批次归一化(BatchNormalization)1.工作过程2.主要作用五、ResNet残差神经网络解决了传统神经网络什么问题1.梯度消失和梯度爆炸梯度消失:梯度爆炸:2.退化......
  • BOI 2024 Day1
    LuoguP10759题目描述你有\(N\)个一次性的工作,完成第\(i\)个工作可以获得\(x_i\)的利润(可能为负)。有些工作依赖于其他工作,第\(i\)个工作必须在第\(p_i\)个工作完成之后进行。若\(p_i=0\),则\(i\)没有依赖。你初始有\(S\)元,求你最多能获得多少元。思路在一个点......
  • 利用大规模无监督学习提升药物分子表示
    人工智能咨询培训老师叶梓转载标明出处在人工智能驱动的药物设计和发现领域,获取具有信息量的分子表示是一个至关重要的前提。近年来,研究者们将分子抽象为图,并利用图神经网络(GNNs)进行分子表示学习,展现出了巨大的潜力。然而,实际应用中GNNs面临着两个主要问题:一是用于监督训练的......
  • JavaWeb基础-学习笔记01
    01JavaWeb介绍一个Web的互联网系统可以分为三个主要部分:网页、JavaWeb程序、数据库网页:展现数据数据库:存储和管理数据javaWeb程序:逻辑处理因此,JavaWeb的学习内容对应以上三部分内容:数据库部分MySQL:一款主流的数据库产品(数据库管理系统),用结构化查询语言SQL操作数据库JD......
  • Java中集合工具类的学习
    集合工具类目录集合工具类Collections类Arrays类Comparator接口总结Java中的集合工具类主要帮助开发者对集合(如List、Set、Map等)进行高效的操作和管理。虽然“三种集合工具类”这一表述可能不完全精确,因为Java集合框架中包含了多个工具类和接口,但我可以根据常见的和重要的工具......
  • repo 简单搭建学习记录
    repo简单搭建学习记录一、repo搭建参考:repo仓库搭建教程【CSDN】gitrepo工具详细使用教程【CSDN】搭建Repo服务器【CSDN】使用REPO管理GIT多仓库1、服务端repo需要一个服务端(manifest仓库),用来列出所有子仓库的路径等信息,如果在github等远程托管平台创建服务端,那......