什么时候使用pthread_cancel而不是pthread_kill?
如何确定linux中程序的当前堆栈大小?
据说每个程序的堆栈大小在linux中都是8 MB但是当你使用cat/proc // mmap时它会显示不同的大小.
另外,如何确定关联线程的堆栈大小?既然据说线程有自己的私有堆栈?
Atomic指令是什么意思?
以下内容如何成为Atomic?
检查并设置
int TestAndSet(int *x){
register int temp = *x;
*x = 1;
return temp;
}
Run Code Online (Sandbox Code Playgroud)
从软件的角度来看,如果不想使用非阻塞同步原语,那么如何确保指令的原子性?是否只能在硬件或某些装配级指令优化中使用?
language-agnostic synchronization test-and-set nonblocking atomicity
在具有许多类的C++多线程应用程序中,我试图找出定义全局变量的方法
C样式,在任何一个源文件中将其定义为全局,在头部中将其定义为extern,该头部包含在访问此变量的类中.
编写一个Singleton类,它包含这些全局变量并公开set/get方法来写入变量.
通过第二种方法,可以以集中方式而不是第一种方法通过锁来控制多线程访问.
有更多更好的方法吗?
Linux是否会立即自动重新声明应用程序使用的所有内存?
如果是这样,那么应用程序是否应该在退出之前释放所有内存?
在调用exit(0)之前调用多线程应用程序中每个类的析构函数是否真的值得?
如果Linux总是立即重新声明应用程序使用的所有内存,那么内存泄漏只是应用程序创建的悬空指针,也只是它的生命周期.
据说Linux内核是SMP.据说进程和内核线程应该跨处理器分布.
是否所有Linux发行版都像fedora13,ubuntu 10.04 Lucid默认启用SMP Linux?
在SMP Linux上,最好遵循a)多进程方法而不是b)多线程方法
默认情况下,pthread是否会创建内核级线程,以便任何应用程序都可以利用LWP和SMP?
如果没有,如何使用Pthreads创建内核级线程.任何参考将非常感谢.
linux ×3
atomicity ×1
c ×1
c++ ×1
exec ×1
extern ×1
fork ×1
memory-leaks ×1
nonblocking ×1
posix ×1
pthreads ×1
singleton ×1
smp ×1
stack-size ×1
test-and-set ×1
unix ×1