一.前言 最近在做Matalb/Simulink与C/C++的混合编程,主要是完成TCP.UDP.SerialPort等常见通信方式的中间件设计,为Simulink模型提供数据采集及解析模块. 问题在于没有搞清楚Simulink中调用C/C++的内在机制,将测试OK的C++程序移植到mex上时,总会出现很多问题,比如通信的阻塞与非阻塞,有时候自己写半天可能在性能上并不比Matalb内置模块好,所以搞清楚一些原理性的东西还是很有必要的. 参考资料: 1. 阻塞与非阻塞socket的优缺点 http…
先占坑 老实说看这本书的时候,有很多地方都很迷糊,但却说不清楚问题到底在哪里,只能和Effective C++联系起来,更深层次的东西就想不到了. 链接: https://blog.csdn.net/cloudqiu/article/details/55060108 C++语言的设计与演化推荐 https://blog.csdn.net/csdnnews/article/details/79777598 语言发展历史 https://blog.csdn.net/weiwenhp/article/…
1.创建数据库(create) CREATE DATABASE database-name 2.删除数据库(drop) drop database dbname 3.备份数据库 --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.创建新表 create…
python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程 并行与并发 同步与异步 阻塞与非阻塞 CPU密集型与IO密集型 线程与进程 进程 前言 进程的出现是为了更好的利用CPU资源使到并发成为可能. 假设有两个任务A和B,当A遇到IO操作,CPU默默的等待任务A读取完操作再去执行任务B,这样无疑是对CPU资源的极大的浪费.聪明的老大们就在想若在任务A读取数据时,让任务B执行,当任务A读取完数据后,再切换到任务A执行.注意关键字切换…
转: java网络通信:异步非阻塞I/O (NIO) 首先是channel,是一个双向的全双工的通道,可同时读写,而输入输出流都是单工的,要么读要么写.Channel分为两大类,分别是用于网络数据的SelectableChannel和用于文件操作的FileChannel. 注意:在java NIO库中,所有的数据都是用缓冲区处理,常用的是ByteBuffer. 多路复用器Selector: Selector会不断轮询注册在其上的Channel,如果某个Channel上又新的连接接入.读和写事件,…
还是先占坑,等理顺了思路再写,学过的东西总是无法系统化,感觉什么都知道一点,但一深入却是一脸懵逼. 这真的是个问题,看似很努力,却无法成为一个master. 参考链接: 1. 编程语言的类型系统为何如此重要? https://www.zhihu.com/question/23434097 2. 程序语言中的类型系统怎么理解,它有哪些要素?如何由它演化出一门编程语言的? https://www.zhihu.com/question/22416404 3. 关于类型系统和类型推导的一些科普 http…
在阅读C++语言的设计与演化一书时,作者多次提到希望能设计出一个自动废料收集,然而出于种种考虑,始终未将自动废料收集纳入标准讨论中,而是由Coder自己考虑是否在程序中实现废料收集. 当然了,许多Java-Coder在比较C++和Java时经常会提到C++中没有类似Java的自动废料收集功能,导致Coder必须在内存管理上耗费大量的精力,稍有不慎就会导致memory leakage甚至系统崩溃. 语言的各种特性必然有其存在的理由,我们在享受指针带来的便利特性的同时,必须要保持足够的警惕,否则me…
Java NIO之多个Selector的实现Java NIO类库Selector机制解析(上) Java NIO类库Selector机制解析(下) https://www.zhihu.com/question/19732473 http://blog.csdn.net/iter_zc/article/details/39291647 http://www.cnblogs.com/Anker/p/3254269.html http://blog.csdn.net/historyasamirror/…
同步.异步.阻塞与非阻塞介绍 聊聊同步.异步.阻塞与非阻塞…
这里区分几个概念,也是常见但是容易混淆的概念,就是标题中的同步.异步.阻塞.非阻塞. 一.同步与异步 同步与异步,关心的是消息通信的机制.也就是调用者和被调用者之间,消息是如何进行通知的.如果是调用者主动等待调用的结果,那么就是同步.如果是被调用者主动去通知调用者,就是异步.从上面的描述中,我们可以看到.同步还是异步,主要是看的消息通知的方式,一个是调用者主动等待,一个是调用者被通知. 二.阻塞与非阻塞 同样的,对于这样两个概念,我们细细思考下,并不难理解.这两个概念都是针对于调用者来说的,如果…