![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 65
Super_Jandroid
专业写bug
展开
-
volatile 关键词
可以保证对内存操作的原子性,用于 保证每次都从内存读取该关键词修饰的内容,表明被修饰的这个变量的值可能在外部被改变,因此对这些变量的存取不能缓存到寄存器,每次使用时需要重新存取。应用场景:1多任务环境下,各任务间共享的标志需要加volatile,2中断服务中,修改的,供其他程序检测的变量,需要加volatile3存储器映射的硬件寄存器也要加,因为每次对它的读写可能有不同的意义注意C/C++ Volatile关键词的第三个特性:1、”顺序性”,能够保证Volatile...原创 2022-03-15 21:37:46 · 135 阅读 · 0 评论 -
c++/c 串口读写
#include <iostream>#include "stdlib.h"#include <string>#include <Windows.h>//#include <afx.h>using namespace std;HANDLE hcom = 0;//获取到串口,下方打印里面的commNam就是我们平时需要的串口名int main(){ HKEY hkey; /*打开一个指定的注册表键 RegOpenKeyExA ( .原创 2021-12-03 21:51:43 · 3936 阅读 · 0 评论 -
线程新建
ThreadLocal的详解 :https://www.cnblogs.com/dolphin0520/p/3920407.html新建线程的几种方法1、继承Thread类2、实现Runnable接口3、实现Callable接口,配合FutureTask,最后的返回结果会在FutureTask对象的get方法中代码中有些怪异的原因 是因为内部类是动态的,也就是开头以publ...原创 2019-04-15 16:47:04 · 158 阅读 · 0 评论 -
ReentrantLock的lock和lockInterruptibly
允许在等待时由其他线程的Thread.interrupt()方法来中断等待线程lockInterruptibly 与 lock比较区别在于lockInterruptibly 优先考虑响应中断,也就是说在lock.lockInterruptibly();之后的代码不会执行,直接就被异常捕获了。而lock.lock();则是会一直到调用sleep函数后才响应,sleep函数之前的代码会照常...原创 2019-04-17 16:55:57 · 508 阅读 · 0 评论