小编All*_*lok的帖子

轻量级进程和线程有什么区别?

我在这里找到了问题的答案.但我不明白答案中的一些想法.例如,据说轻量级进程与其他进程共享其逻辑地址空间.这是什么意思?我可以理解2个线程的相同情况:它们共享一个地址空间,因此它们都可以从bss段读取任何变量(例如).但是我们有很多不同的流程和不同的bss部分,我不知道如何分享它们.

multithreading process lightweight-processes

15
推荐指数
3
解决办法
1万
查看次数

什么是Awesome wm的"Fn"键的名称?

例如:

awful.key({"Shift", }, "Left", volwidget.down)

如何找出要写的而不是"Shift"来使用"Fn"键?

window-managers awesome-wm

8
推荐指数
2
解决办法
5077
查看次数

task_struct 存储在哪里?

Task_struct 用于通过内核保存有关进程的必要信息。由于这种结构,内核可以暂停一个进程,并在一段时间后继续其实现。但我的问题是:这个 task_struct 存储在内存中的什么地方(我读过关于内核堆栈的内容,是虚拟地址空间的内核空间中的那个吗?)?挂起进程后,内核在哪里保留指向该结构和该结构的指针?

如果您在描述资源的地方提供一些参考资料,我将不胜感激。

附注。我忘了说这个问题是关于 Linux 内核的。

linux kernel process task

5
推荐指数
2
解决办法
6784
查看次数

在C++中执行线程的奇怪顺序

我试图从Linux Tutorial Posix Threads执行第一个例子.这就是我的意思:

[alex@Allok c_c++]$ g++ -lpthread from.cpp
from.cpp: In function ‘int main()’:
from.cpp:10:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
from.cpp:11:22: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
[alex@Allok c_c++]$ ./a.out 
Thread 2 
Thread 1 
Thread 1 returns: 0
Thread 2 returns: 0
Run Code Online (Sandbox Code Playgroud)

问题是我希望输出像源一样说:

Thread 1
Thread 2
Thread 1 returns: 0
Thread 2 returns: 0
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样.谁能帮我?

[alex@Allok c_c++]$ uname -a
Linux Allok 3.3.2-1-ARCH #1 SMP PREEMPT Sat Apr 14 10:08:43 UTC …
Run Code Online (Sandbox Code Playgroud)

c c++ multithreading pthreads

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