一段有问题的代码,大概20%的概率,bStartSend的值的改变没有被检查到 //线程一直循环,等待消息 while (true) { if (bStartSend) { LogInfo("bStartSend=true"); StartMotor(ref ErrMsg, ref recvMsg, ...
分类:
编程语言 时间:
2021-05-24 04:57:32
阅读次数:
0
线程安全 定义:多个线程同时运行这段代码。如果每次运行结果和单线程运行结果是一样的,而且其他变量的值也和预期的是一样的,就是线程安全的。或者说,一个类或者程序所提供的接口对于线程来说是原子操作,多个线程间的切换不会导致执行结果存在二义性,也就是不用考虑同步的问题。线程安全策略就是多线程访问时,采用加 ...
分类:
编程语言 时间:
2021-05-24 04:41:53
阅读次数:
0
看到一个分析源码的,写在前面,附上网址: https://www.jianshu.com/p/5ecd21af5ed7 Web跨域请求及其解决方案以及XSRF: https://blog.csdn.net/ppxin/article/details/94717173#1.%20%E4%BB%80%E ...
分类:
移动开发 时间:
2021-05-24 04:35:06
阅读次数:
0
线程的概念 线程的组成: 栈区和栈区指针 程序计数器:PC 寄存器集合 线程的状态: 新建状态(New):刚被创建 准备状态(Runnable):加载所需的所有资源,等待CPU 运行状态(Running):被CPU执行 挂起状态(Blocked):阻塞,等待唤醒 线程和进程的区别: 1. 进程是资源 ...
分类:
编程语言 时间:
2021-05-24 04:32:11
阅读次数:
0
前面我们介绍了如何获取devices list的值,以及如何判断端口是否被占用。 今天我们继续介绍如何获取可用的端口。 思路: 创建一个方法,因为生成的端口不是平白无故的生成的,1,起始的端口要我们自己给出,2,生成的端口的数量与我们获取的devices的数量一致,3,端口不能被占用。 具体操作如下 ...
分类:
移动开发 时间:
2021-05-24 04:28:15
阅读次数:
0
一、synchronized的特性 1.1 原子性 所谓原子性就是指一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 在Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行。但是像i++、i+=1等操作字符就 ...
分类:
其他好文 时间:
2021-05-24 04:17:55
阅读次数:
0
vue qs的使用 什么是qs? qs是一个流行的查询参数序列化和解析库。可以将一个普通的object序列化成一个查询字符串,或者反过来将一个查询字符串解析成一个object,帮助我们查询字符串解析和序列化字符串。 vue中qs安装使用 安装npm install qs 导入import qs fr ...
分类:
其他好文 时间:
2021-05-24 04:16:31
阅读次数:
0
Joomla 3.4.5 反序列化漏洞(CVE-2015-8562) 本漏洞根源是PHP5.6.13前的版本在读取存储好的session时,如果反序列化出错则会跳过当前一段数据而去反序列化下一段数据。而Joomla将session存储在Mysql数据库中,编码是utf8,当我们插入4字节的utf8数 ...
分类:
其他好文 时间:
2021-05-24 04:14:30
阅读次数:
0
lambda表达式 new Thread(()->System.out.println("多线程学习")).start(); lambda表达式只能有一行代码的情况下才可以简化成一行,如果有多行,就需要用代码块 必须是函数式接口接口(函数式接口就是只包含唯一一个抽象方法) 多个参数可以去掉参数类型, ...
分类:
其他好文 时间:
2021-05-24 03:25:08
阅读次数:
0
##JVM 没什么好说的,所有java程序不管是什么框架也好、中间件也好,都是跑在jvm上的,成为java领域的专家不能不会JVM ##Java Collection jdk里边的集合的实现原理、源代码中包含了很多算法和数据结构的知识,属于语言的基本功,很基础,面试经常问。 ##多线程并发、NIO ...
分类:
编程语言 时间:
2021-05-24 03:11:23
阅读次数:
0