当前位置:首页 » 线程 - 第1页

06月04日

Java基础(十九)——线程安全(同步锁和监视器)、线程阻塞(sleep和wait)的不同区域表现形式、唤醒方式、lock(互斥锁)、公平锁_sp_snowflake的博客

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 297次
Java基础(十九)——线程安全(同步锁和监视器)、线程阻塞(sleep和wait)的不同区域表现形式、唤醒方式、lock(互斥锁)、公平锁_sp_snowflake的博客

Java基础(十九)——一、线程安全(同步锁和监视器)1、引子——线程不安全举个例子引入安全锁:10家店,同时卖1000部电脑。换成代码就是10条线程,争抢一个资源(代码如下):这样会造成一个很严重的问题,就是会出现多个线程同时争抢一个资源,且存在多个线程同时抢到这个资源:这种现象就是线程不安全。2、线程安全问

05月27日

27.Windows线程切换之线程查找(KiFindReadyThread)_kernelhack

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 272次
27.Windows线程切换之线程查找(KiFindReadyThread)_kernelhack

目录前言KiFindReadyThread参数分析函数实现KiSelectReadyThread前言在分析KiFindReadyThread函数前,需要了解KTHREAD,KPCR中部分成员.正在运行的线程存储在FS:[0x124]->KPCR.KPRCB.CURRENTTHREAD.就绪状态和等待状态的线程全在另外33个链表中.一个等待链表,32个调度链表.这些链表都使用了_KTHREAD->WaitListEntry这个位置,也就是说线程在某一时刻,只能属于其中一个圈.等待链表(等待状态的线程)_KPRCB->WaitListHead(_LIST_ENTRY).线程调用了Sleep()或者W

05月27日

28.Windows线程切换之主动切换(KiSwapThread)_kernelhack

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 422次
28.Windows线程切换之主动切换(KiSwapThread)_kernelhack

目录前言调用API触发线程切换机制KiSwapThread参数分析函数功能KiSwapContextSwapContext前言通过研究KiSwapThread函数,就可以知道单核CPU是如何同时运行多个进程.需要了解进程内核结构KPROCESS,其成员CR3,ApcState等等.需要了解线程内核结构KTHREAD,会用到很多线程内核结构成员.并且对WindowsAPI调用有了解(系统调用),需要了解一个API是如何进R0,以及如何从R3堆栈切换到R0堆栈等.需要了解处理器控制区KPCR,线程切换会通过其成员ReadySummary/DisPatcherReadyListHead来查找当前核就绪线程等.建议阅

05月27日

29.Windows线程切换之被动切换(KiDispatchInterrupt)_kernelhack

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 230次
29.Windows线程切换之被动切换(KiDispatchInterrupt)_kernelhack

目录前言CPU时钟中断(HalpHpetClockInterrupt)KiDispatchInterrupt前言在分析Windows线程主动切换时得知调用API时会触发线程切换,假设当前线程不调用API,操作系统如果实现线程切换呢?异常(缺页异常)...中断(时钟中断)...CPU时钟中断(HalpHpetClockInterrupt)Windbg输入!IDT获取时钟中断函数Windbg输入bpHalpHpetClockInterrupt断点查看相关数据时钟中断发生时IRQL等级1Fh.Windbg输入kv获取调用堆栈,可以看出已经不再nt模块了.时钟中断调用流程(Wi

05月27日

JMeter压力测试工具_小豆芽

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 233次
JMeter压力测试工具_小豆芽

1简介JMeter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。2下载安装和启动JMeter可以在JMeter的官方网站下载(https://jmeter.apache.org/)官网找到Download下载zip压缩包后,解压到本地就行进入/bin目录,运行ApacheJMeter.jar文件就启动了但是首先确保你安装了JDK环境3简单的设置恭喜你现在你已经启动了JmeterJmeter可以设置为中文,按照如

05月25日

程序员的高薪,是因为他不但会复制,还知道去哪复制_Java白叔的博客

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 271次
程序员的高薪,是因为他不但会复制,还知道去哪复制_Java白叔的博客

你们知道程序员最熟悉,最熟练,最常用的两个快捷键是哪两个吗?没错,就是你现在心中所想的:ctrl+c和ctrl+v,俗名为:复制和粘贴。对于大部分程序员来说:复制和粘贴就是他创造伟大产品的左膀和右臂。不知道大家有没有看过这个梗,这个梗其实相当的现实,但是你又不得不说它是说到点子上了。我前段时间听到过这样一句话:天下代码不过一个抄字而作为码农,将别的功能代码拷过来稍作修改,完成了自己的工作,这样的方式简单快捷,不需要思考如何提

05月23日

Java零基础入门 12:Java中的Object类_Java攻城狮

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 277次
Java零基础入门 12:Java中的Object类_Java攻城狮

🍅周周有福利,周周有惊喜哪吒社区-风火轮计划🍅Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)🍅Java经典面试题大全:10万字208道Java经典面试题总结(附答案)🍅简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌、Java架构师奋斗

05月23日

【面试题】Java并发篇-10道常见面试题p1_小皮皮LL的博客

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 216次
【面试题】Java并发篇-10道常见面试题p1_小皮皮LL的博客

备战实习,会定期的总结常考的面试题,大家一起加油!🎯本文章参考:JavaGuide《并发编程的艺术》并发编程&JVM注意:如果本文中有错误的地方,欢迎评论区指正!🍭往期链接:🧭【面试题】计算机网络篇-10道常见面试题p1⚡【面试题】JVM篇-10道常见面试题p11.说一下并发和并行的区别ÿ

05月23日

CUDA 编程入门_CesareBorgia的博客

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 257次
CUDA 编程入门_CesareBorgia的博客

CUDA编程入门更好的阅读体验CUDA概述CUDA是NVIDIA推出的用于其发布的GPU的并行计算架构,使用CUDA可以利用GPU的并行计算引擎更加高效的完成复杂的计算难题。在目前主流的使用冯·诺依曼体系结构的计算机中,GPU属于一个外置的设备,因此即便在利用GPU进行并行计算的时候也无法脱离CPU,需要与CPU协同工作。因此当我们在说GPU并行计算时,其实指的是基于CPU+GPU的异

05月14日

CGBTN2110 DAY17复习总结_程序媛泡泡的博客

发布 : zsy861 | 分类 : 《随便一记》 | 评论 : 0 | 浏览 : 241次
CGBTN2110 DAY17复习总结_程序媛泡泡的博客

1.多线程数据安全隐患解决方案1.出现数据安全问题的原因:多线程程序多个线程拥有共享数据多条语句操作共享数据2.同步与异步异步:是多个线程抢占资源的效果,不排队,所以效率高,但是数据不安全同步:每次只有一个线程独占资源,排队,所以效率低,但是安全,为了安全必要应该牺牲一部分资源synchronized也被称作同步关键字3.解决方案:加锁s

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1