``Linux永远不会执行的程序''

1.前言"我的性格好不好! Linux没有将我的线程调度半小时!”。几天前一位同事抱怨说:“ Linux是一个多线程系统,每个线程都有一个时间片,为什么我的程序似乎还没有被调度”,然后向我展示了执行过程。
大致归纳为以下代码逻辑。程序启动后,仅一行“ run”开始。
输出,然后就没有了。喝咖啡,吃瓜子,有偿钓鱼,屏幕很干净。
在理想状态下,输出“做”到输出。每10秒执行一次任务后。
通过分析代码逻辑,我们可以看到“推断”的基础是可理解的。代码是否正在执行是“ do”的输出。
在屏幕上,“这真的科学吗?答案是不。 Linux有一个雨露计划系统,很难在半小时内保持不变。
排程。问题在于Linux的“行缓冲”机制。
机制。 void main(){printf(“ run ”); while(1){sleep(10); do_thing(); printf(“ do”); }} 2.行缓冲上面的printf输出目标设备由STDOUT指定,它可能指向波特率为115200的串行端口。
设备也可能指向本地图形设备。与CPU相比,它们的速度要慢几个数量级。
它们都是为了提高机器或程序的性能并提高CPU利用率。协调高速设备和低速设备之间的速度差异为了进行匹配,操作系统默认情况下在标准I / O上使用行缓冲机制。
首先将printf的内容存储在内存中,然后当缓冲区已满或检测到换行符时,将其输出到目标设备。 Linux上的默认行缓冲区为1024Byte,每10s输出占用2Byte,为了等待缓冲区填满,您需要等待81分钟。
了解原理之后,解决方案很简单。方法1:强制刷新以刷新标准输出stdout #include void main(){printf(“ run ”); while(1){sleep(10); do_thing(); fflush(stdout); printf(“ do”); }}方法2:输出“ newline” #include void main(){printf(“ run ”); while(1){sleep(10); do_thing(); printf(“ do ");}} END来源:写一个解决方案,作者:吴军解决方案免责声明:本文经21ic授权发布,属于原作者,该平台提供信息存储服务,仅文章代表个人观点, 并不意味着。
这个平台的位置,如果您有任何疑问,请与我们联系,谢谢!

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: ys@jepsun.com

产品经理: 汤经理

QQ: 2057469664

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • PT100热电阻精确对照表第一行数字0到9的含义解析 在PT100热电阻的精确对照表中,第一行通常代表温度范围或温度值。具体来说,数字0到9可能代表不同的温度区间或特定的温度点。例如,在一些表格中,这些数字可能对应于-200℃至+850℃范围内的不同温度间隔。然而,具体的含...
  • 3-Phase Gate Drivers 3相栅极驱动器技术详解 在电力电子系统中,3相栅极驱动器是实现高效电机控制的关键组件之一。3相栅极驱动器主要用于控制三相电机中的功率开关器件(如IGBT或MOSFET),通过精确地控制这些开关器件的导通与关断时间,可以有效提高电机运行效率、...
  • double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
  • KROM霍科德DG6U-3及DG50U-3压力开关:精密可靠的工业应用选择 KROM霍科德是一家在燃烧技术领域享有盛誉的公司,其提供的产品广泛应用于工业生产过程中。其中,DG6U-3和DG50U-3两款压力开关是该公司的代表性产品之一。这两种型号的压力开关设计精良,能够精确监测和控制气体或液体的压力...
  • SMD 3.2x1.6mm芯片参数及应用领域 在现代电子技术快速发展的背景下,SMD(Surface Mount Device)贴片元件因其体积小、重量轻、便于自动化生产等优点,在电子产品中得到了广泛应用。其中,SMD 3.2x1.6mm规格的芯片作为一种常见的贴片元件,广泛应用于各类消费电子...
  • GGL-200/3负荷隔离开关:性能与应用 GGL型低压配电柜是一种广泛应用于电力系统的设备,其中的负荷隔离开关是其关键部件之一。以GL-200/3型号的负荷隔离开关为例,它主要用于额定电压为400V及以下的电力系统中,作为接通、承载和分断正常条件下电路中的电流之...
  • LED灯珠SMD-3.2X1.6mm参数及应用领域 在现代照明技术中,LED灯珠因其高效、节能、长寿命等优点而被广泛应用。SMD-3.2X1.6mm LED灯珠作为一种常见的表面贴装型LED产品,在市场上非常受欢迎。它具有以下特点:1. 尺寸小巧:3.2x1.6mm的小巧尺寸,使其适用于空间有限的...
  • PLCC SMD 3.5x2.7mm LED灯珠参数及应用领域 在现代电子设备中,LED灯珠因其高效、节能、长寿命等优点而被广泛应用。特别是对于空间紧凑的设计来说,SMD(表面贴装技术)LED灯珠是理想的选择。本文将详细介绍一款PLCC封装的SMD 3.5x2.7mm LED灯珠,包括其主要参数和广泛的...
  • PLCC SMD 3.0x2.2mm LED灯珠参数及应用领域 在现代电子设备中,LED灯珠因其高效、节能和长寿命的特点而被广泛应用。其中,PLCC(Plastic Leaded Chip Carrier)封装形式的SMD(Surface Mounted Device)LED灯珠由于其体积小、安装方便等优点,在电子产品设计中越来越受到青睐。以3.0...
  • PLCC SMD 3.0x2.0mm LED灯珠参数及应用领域 在现代电子设备中,LED灯珠因其高效能、长寿命和环保等优点而被广泛采用。特别是PLCC(Plastic Leaded Chip Carrier)封装形式的SMD(Surface Mounted Device)LED灯珠,因其体积小巧、安装方便等特点,在各种便携式电子产品、背光显示、...
  • 直角LED灯珠3.0X2.0mm参数及应用领域 在众多照明设备和显示系统中,直角LED灯珠因其独特的设计和高效的性能而备受青睐。3.0X2.0mm尺寸的直角LED灯珠尤其适用于空间紧凑、对灯具尺寸有严格要求的应用场景,如微型设备指示灯、高端电子产品背光、精密仪器仪表盘...
  • PLCC SMD 3.5x2.8mm LED灯珠参数及应用领域 在现代电子设备中,LED灯珠因其高效、节能和长寿命的特点而被广泛应用。特别是PLCC(Plastic Leaded Chip Carrier)封装形式的SMD(Surface-Mounted Devices)LED灯珠,由于其体积小、安装便捷等优点,在各类电子产品中占据重要地位。对于...
  • SMD-3.5X2.8mm LED灯珠参数及应用领域详解 在现代电子设备中,LED灯珠因其高效能、长寿命和环保等优点而被广泛应用。其中,SMD-3.5X2.8mm LED灯珠凭借其小巧的体积和稳定的性能,在众多领域中发挥着重要作用。下面,我们将详细介绍这种LED灯珠的技术参数及其应用范围。...
  • SMD-3.2X3.6mm LED灯珠参数及应用领域详解 在现代电子设备中,LED灯珠因其高效、节能和长寿命等优点而被广泛应用。其中,SMD-3.2X3.6mm LED灯珠作为LED家族的一员,凭借其紧凑的体积和出色的性能,在各种电子产品中扮演着重要角色。### 物理特性SMD-3.2X3.6mm LED灯珠采用表面...
  • SMD-3.2x2.7mm LED灯珠参数及应用领域详解 在现代电子设备中,LED灯珠因其高效、节能和长寿命等优点而被广泛应用。其中,SMD-3.2x2.7mm LED灯珠作为常见的封装类型之一,在许多领域中都发挥着重要作用。本文将详细介绍这种规格的LED灯珠的主要参数及其在不同领域的应用...
  • DG500U-3德国霍科德压力开关 是一款高品质的压力控制设备,广泛应用于工业自动化领域。该型号由德国著名品牌霍科德(KOBOLD)制造,以其出色的性能和可靠性著称。DG500U-3压力开关能够精确检测系统中的压力变化,并在达到预设值时自动触发开关动作,...
  • PLCC封装贴片LED SMD 3.0X2.0mm参数及应用详解 在现代电子设备中,LED的应用越来越广泛,尤其是贴片式LED因其小型化、高效能的特点受到青睐。其中,SMD 3.0X2.0mm规格的PLCC封装贴片LED凭借其优秀的性能和紧凑的设计,在众多领域得到了广泛应用。本文将详细介绍这种LED的具...
  • SH*水钮子开关.*-3-T2R:工业流体控制中的关键组件 这段信息似乎是在描述某个设备或系统的部件,但给出的信息非常有限且不够清晰。假设这是一个关于工业设备中的控制元件的描述,“SH*水钮子开关.*-3-T2R”可能是指一种特定型号的水控制开关或者与水处理系统相关的控制元件...
  • KROM DG6U-3 霍科德压力开关:工业自动化领域的高效解决方案 KROM DG6U-3 霍科德压力开关是一种高品质的压力控制设备,广泛应用于工业自动化领域。这种压力开关能够精确地监测和控制气体或液体的压力变化,确保系统的安全稳定运行。KROM DG6U-3 压力开关具备高度的可靠性和耐用性,能够...
  • 上海施耐德GL-630A/3负荷隔离开关:高效可靠的电力分配解决方案 上海施耐德电气提供的GL-630A/3型负荷隔离开关是一款高性能的电气设备,主要用于工业和商业配电系统中的隔离与保护。这款隔离开关的最大额定电流为630A,具备三极设计,能够在确保安全的同时提供高效的电力分配。它采用了...