摘要:
摘自《C++多核编程》 6.3 设置线程属性 存在一些可用来确定线程上下文的关于线程的信息。这些信息用于重建线程的环境。令对等线程相互之间产生区别的是id、定义线程状态的寄存器组、优先级和它的栈。这些属性使得线程有了自己的身份。 POSIX线程库定义了线程属性对象(attribute objec), 阅读全文
摘要:
摘自《C++多核编程》 6.2 线程和进程的比较 线程和进程都能够提供并发程序执行。当您决定使用多个进程还是多个线程时,上下文切换需要使用的系统资源、吞吐量、实体间通信、程序简化等都是需要考虑的问题。 6.2.1 上下文切换 当您创建一个进程时,可能只需要主线程这一个线程就可以实现进程的功能了。当进 阅读全文
摘要:
6.1.2 线程上下文 操作系统管理很多进程的执行。有些进程是来自各种程序、系统和应用程序的单独进程,而某些进程来自被分解为很多进程应用或程序。当一个进程从内核中移出,另一个进程成为活动的,这些进程之间便发生了上下文切换。操作系统必须记录重启进程和启动新进程使之活动所需要的所有信息。这些信息被称作上 阅读全文
摘要:
摘自《C++多核高级编程》 6.1 什么时线程 线程时进程中可执行代码流的序列,它被操作系统调度,并在处理器或内核上运行。所有的进程都有一个主线程(primary thread)。主线程是进程的控制流或执行线路。具有多个线程的进程拥有和线程数目一样多的控制流。每个线程独立并发的执行自身的指令序列。具 阅读全文
摘要:
https://github.com/brtiberio/ATV71_CANopen.git https://github.com/linux-can/can-utils.githttps://github.com/CANopenNode/CANopenNode.git https://github 阅读全文
摘要:
5.14 进程资源进程为了能够执行它索要执行的任何任务,可能需要将数据写入文件,将数据发送到打印机、或者在屏幕上显示数据。进程可能需要来自用户的输入,经由键盘或从文件中输入。进程可以使用其他进程作为资源,例如子程序。子程序、文件、信号量、互斥量、键盘、显示器等都是进程可以利用的资源的实例。资源是被进 阅读全文
摘要:
float hex_to_float(uint8_t *data) { float num = 0.0; uint8_t dd[4] = {data[0], data[1], data[2], data[3]}; float *ret = (float *)dd; num = *ret; print 阅读全文
摘要:
摘自《C++多核高级编程》 5.6.3 进程状态 在进程执行期间,它的状态会发生改变。进程的状态时指进程的当前状况。在POSIX兼容的环境中,进程可以处于以下状态: 1)运行(running) 2)就绪(runnable, ready) 3)僵死(zombied) 4)等待(waiting, blo 阅读全文
摘要:
摘自 《C++多核高级编程》 5.6章节。 当执行进程时,操作系统将它指派到一个处理器上。进程将在一个时间片(quantum)内执行它的指令。进程时可抢占的,因此另外一个进程可以被指派到这个处理器上。操作系统调度器将进程、用户或系统的代码切换给另一个进程的代码,为每个进程执行提供指令的机会。进程可以 阅读全文
摘要:
调用函数(setsockopt)来设置 recv buffer 和send buffer时报错: setsockopt error: Socket operation on non-socket(errno: 88) 原因在于 setsockopt 的 第一个参数为 socket通信使用的文件描述符 阅读全文