小编Men*_*phy的帖子

Pthread库实际上是用户线程解决方案吗?

标题可能不够清晰,因为我不知道如何定义我的问题.

我理解Pthread是一个符合POSIX标准的线程库(关于POSIX,请参阅维基百科:http://en.wikipedia.org/wiki/Posix).它可以在类Unix操作系统中使用.

关于线程,我读到有三种不同的模型:

用户级线程:内核不知道它.用户自己创建/实现/销毁线程.

内核级线程:内核直接支持进程中的多个控制线程.

轻量级进程(LWP):由内核调度但可以与用户线程绑定.

你有没有看到我的困惑?当我调用pthread_create()创建一个线程时,我是否创建了一个用户级线程?大概吧.那么我可以说,Pthread为线程提供了用户级解决方案吗?它无法操纵内核/ LWP?

multithreading kernel pthreads

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

未定义的"睡眠"参考,但我确实包括<unistd.h>

嗯,这一定是个傻瓜.下面是C中不可能更简单的代码.它不能编译说"未定义的睡眠引用".但我想我包括我需要的所有系统头...

#include <stdio.h>
#include <unistd.h>
int main()
{
    printf("Test starts.\n");
    sleep(1);
    printf("Test ends.\n");

    return 1;
}
Run Code Online (Sandbox Code Playgroud)

c windows winapi sleep

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

Pthread:人们为什么要使用pthread_exit?

据我所知,当你需要终止一个带有返回值的线程时,pthread_exit()完全等于返回.当人们可以使用一致的方式,即返回,为什么Pthread定义这样一个重复的接口?

pthreads

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

在Posix中,如何使用类型dev_t?

我所追求的是这种类型的含义以及可以使用它的界面.

Posix规范中解释了它dev_t用于设备ID.但是,设备ID对路径描述的任何对象意味着什么,可以是文件,直接,fifo或物理设备?

例如,调用stat()应该给你一个结构,包括这种类型的成员; 并且您可以在文件系统中统计任何类型的对象.对于不同的文件类型,设备ID应具有不同的含义.

c posix stat

5
推荐指数
3
解决办法
7844
查看次数

什么编译器不支持printf标志中的"%#x"样式?

我理解%#x给出了与0x%x相同的效果,它符合POSIX标准.但人们提到一些编译器不支持它.这是真的,任何一个例子?

c compiler-construction printf posix

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