大疆面试整理
Posted fpga和matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大疆面试整理相关的知识,希望对你有一定的参考价值。
1.多线程间如何进行通信?主线程中如何知道子线程中信息是否加载好了?
答:一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。
使用全局变量进行通信
由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。对于标准类型的全局变量,我们建议使用volatile 修饰符,它告诉编译器无需对该变量作任何的优化,即无需将它放到一个寄存器中,并且该值可被外部改变。如果线程间所需传递的信息较复杂,我们可以定义一个结构,通过传递指向该结构的指针进行传递信息。
使用自定义消息
我们可以在一个线程的执行函数中向另一个线程发送自定义的消息来达到通信的目的。一个线程向另外一个线程发送消息是通过操作系统实现的。利用Windows操作系统的消息驱动机制,当一个线程发出一条消息时,操作系统首先接收到该消息,然后把该消息转发给目标线程,接收消息的线程必须已经建立了消息循环。
2.TCP和UDP协议,http协议。http的错误响应码,200,300,400,304,还有其他的一些没见过的。
3.消息队列模型
4.二叉树的深度优先遍历,写代码。
5.进程调度,进程间通信?
6.OSI七层通信
7.循环队列是什么?
8.写代码,strlen和strncpy?
9.设计微信的通信机制,要求数据传输可靠,快响应
答:我提出仿照TCP和UDP协议来设计
以上是关于大疆面试整理的主要内容,如果未能解决你的问题,请参考以下文章