小编Dip*_*hta的帖子

如何通过编程语言实现异常处理?

我想深入了解编程语言如何实现异常处理以及它在内部的工作原理.我试着在下面的许多子问题中对此进行说明.

  1. 编程语言用于实现try {} catch {}块(引擎盖下)的机制是什么?
  2. 堆栈放卷究竟如何在里面工作?
  3. 不同语言(如C++和Java)之间try {}/catch {}实现之间的主要区别是什么?它们提供的差异是显着的还是相同的?
  4. C中的堆栈倒带的setjump/longjump方法类似于try/throw/catch块吗?
  5. 为什么人们说"堆栈展开"代价高昂?
  6. 究竟什么是SEH(结构化异常处理?)

compiler-construction exception

8
推荐指数
1
解决办法
1243
查看次数

分析和分析多线程应用程序

我们有一个多线程应用程序,它在多个流水线阶段都有大量的数据包处理.该应用程序在Linux下的C语言中.

整个应用程序工作正常,没有内存泄漏或线程安全问题.但是,为了分析应用程序,我们如何分析和分析线程?

特别是我们感兴趣的是:

  1. 每个线程完成的资源使用情况
  2. 线程争用获取锁定的频率和时间
  3. 由于同步导致的开销量
  4. 系统中的任何瓶颈
  5. 什么是我们可以获得的最佳系统吞吐量

有哪些最好的技术和工具?

linux multithreading profiling

7
推荐指数
1
解决办法
5037
查看次数

返回无法处理的POSIX信号的代码

这是关于在POSIX(Linux)环境中运行的应用程序.处理大多数信号(例如Ctrl+ C- 信号2,SIGINT)和其他信号.完成后,exit()系统调用将从处理程序中调用,并带有所需的退出代码.

但是,有些信号如Signal 9和Signal 15无法处理.

不幸的是,如果信号9或15是终止的原因,启动给定应用程序的父进程(外部脚本)需要知道并清理一些东西.

是否有预定义的退出代码可以由父进程接收以了解上述内容?

启动应用程序的脚本是bash_script.应用程序本身在C.

c linux signals exit-code

2
推荐指数
1
解决办法
1151
查看次数