`

《嵌入式资料整合共两辑》 -2

 
阅读更多

(6)LinuxThreads存在不足,不完全兼容POSIX
进程ID问题,这是最关键的不足,Linux内核并不支持真正意义上的线程,这些轻量级进程拥有独立的进程id,而按照POSIX定义,同一
进程的所有线程应该共享一个进程id和父进程id,这在目前的“一对一”模型下是无法实现的;
信号处理问题,某些信号的缺省动作难以在现行体系上实现,比如SIGSTOP和SIGCONT,linuxThreads只能将一个线程挂起,而无法挂起整个进程。
线程总数问题,LinuxThreads将每个进程的线程最大数目定义为1024,但实际上这个数值还受到整个系统的总进程数限制,这是由于线程其实是核心进程。
管理线程问题, 管理线程容易成为瓶颈,这是这种结构的问题,如果管理线程死亡,用户线程就不得不手工清理了。

4、宏
(1)#运算符
把跟在其后的参数转换成一个字符串,把这种用法的#称为字符串化运算符。
#define PASTE(n) "adhfkj"#n
(2)##运算符
##运算符用于把参数连接到一起。预处理程序把出现在##两侧的参数合并成一个符号。
#define NUM(a,b,c) a##b##c
printf("%d",NUM(1,2,3));输出为123
(3)#error指令
将使编译器显示一条错误信息,然后停止编译
#error "This is a compiling error"

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics