https://api.vvhan.com/api/avatar/boy

技术博客分享

Linux驱动开发-pinctrl-和-gpio-子系统并发和竞争内核定时器

②中断可以用,因为中断不能休眠。信号量就相当于设置一个变量,初始值,我进行这个操作时,这个变量会设置为另一个值,其他线程或者内核看到这个变量不是初始值,不会在外面一直等待,而是去执行其他操作,等我执行完这个操作后,会将这个变量变回初始值,然后通知线程和内核来执行这个操作,适合锁持有时间较长的情况。执行这一步,不被其他线程或者内核影响,相当于我在执行这个操作时候,让一个标准位置0,其他线程或者内核想执行这个操作,一看这个标志位为0,就执行不了,等到这个操作被我执行完后,把标志位置1,从而其他可以去执行。

并发基础三大问题可见性原子性有序性

文章目录可见性原子性有序性(指令重排)经典的指令重排案例:单例模式的双重检查锁volatile和synchronize都可以保证有序性并发压测工具Jcstress证明指令重排会在多线程下出现问题(了解)CPU缓存分为三个级别:L1、L2、L3寄存器缓存和寄存器的区别JMM(java memory modle)可见性原子性并发编程时,当一个线程对共享变量的修改操作进行到一半时,另一个线程也可能来操作共享变量,这时就会干扰前一个线程的操作,这也就是原子性问题。public class AtomicDem

P4387-深基15.习9验证栈序列

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。为了防止骗分,每个测试点有多组数据,不超过 5 组。第一行一个整数 n 表示序列长度;第二行 n 个整数表示入栈序列;第三行 n 个整数表示出栈序列;第一行一个整数 q,询问次数。对于每个询问输出答案。

异常10

⭐️建议,不要在finally中return数据.(finally中代码一定会被执行,就算有return,它也会被执行,在没计的时候,你的程序无论如何都必须要执行finally,所以如果你在finally里return,他会覆盖掉我们try中的return。昨天我们了解了finally的用途,也知道了fianlly的特点,那么大家可能会有一个疑问,那么就是try-catch中的代码也能执行,也可以释放资源,为什么还需要fianlly呢?

ctfshow-web刷题记录

文件的写入在ctf中非常麻烦所以不常用 同时上边文件的读取不知道 flag 的位置瞎猜也是非常难受 所以下边这个 命令执行非常牛x。在post中写入就行 但是这个的条件是有 file_put_contents。知道密码之后如果木马是post方式的传输就能使用这个post口直接进行传输。为了防止后端验证文件头 所以写个假的文件头 让它去验证。我们上传的文件只有png能上传成功说明是后端的waf。利用第一个的老套路居然上传成功了这是我没想到的。只需要记住 不同2个中间件的日志。上边的写入其实就是命令的执行啊。

HTML-标题

可以将注释插入 HTML 代码中,这样可以提高其可读性,使代码更易被人理解。浏览器会忽略注释,也不会显示它们。应该将 h1 用作主标题(最重要的),其后是 h2(次重要的),再其次是 h3,以此类推。标题(Heading)是通过

-

标签进行定义的。

定义最大的标题。

定义最小的标题。
标签在 HTML 页面中创建水平线。hr 元素可用于分隔内容。