About nanxiao

Posts by nanxiao:

0

Linux线程模型浅析

Posted by nanxiao on 一月 14, 2017 in 技术 |

Linux的线程是“轻量级进程”(Light-Weight Process,即LWP)。在Linux系统上运行一个程序时,操作系统会为这个程序创建一个进程,其实也就是“主线程”,后续则可以产生出更多的线程。每个进程都有一个PIDProcess ID),每个线程也会有一个TIDThread ID),属于同一进程的线程各自有拥有不同的TID,但它们的PID是相同的,都等于“主线程”的TID。因此从本质上来讲,Linux系统下的进程和线程没有区别,只不过同一进程中的线程可以共享某些资源。下面看一个例子:

#include <unistd.h>
#include <omp.h>

int main(void){

        #pragma omp parallel num_threads(4)
        for(;;)
        {
            sleep(1);
        }

        return 0;
}

编译并在后台运行这个程序:

$ gcc -fopenmp threads.c
$ ./a.out &
[1] 9802

进程的PID9802,用ps -T pid命令查看进程的线程信息:

$ ps -T 9802
  PID  SPID TTY      STAT   TIME COMMAND
 9802  9802 pts/1    Sl     0:00 ./a.out
 9802  9803 pts/1    Sl     0:00 ./a.out
 9802  9804 pts/1    Sl     0:00 ./a.out
 9802  9805 pts/1    Sl     0:00 ./a.out

其中SPID即为TID。可以看到当前进程的PID9802,共包含4个线程,其TID依次为:9802980398049805,其中PIDSPID相同的线程即为主线程。

标签:,

0

CUDA编程笔记(16)——Shared Memory

Posted by nanxiao on 一月 3, 2017 in CUDA编程笔记 |

这篇笔记摘自Professional CUDA C Programming: Global memory is […]

标签:,

0

2016年终总结

Posted by nanxiao on 一月 1, 2017 in 年终总结 |

2016年就这样过去了,它真的是令我难忘的一年。在这一年中我经历了太多的“第一次”,也有了很多新收获。在201 […]

标签:

0

2016年12月简讯

Posted by nanxiao on 十二月 31, 2016 in 每月简讯 |

这个月终于结束了将近三个月的失业状态,开始了新的工作。 工作方面: 开始接触和学习CUDA和GPU编程,此外, […]

标签:

0

CUDA编程笔记(15)——MEMORY ACCESS PATTERNS

Posted by nanxiao on 十二月 27, 2016 in CUDA编程笔记 |

这篇笔记摘自Professional CUDA C Programming: Global memory lo […]

标签:,

0

一个跨平台的科学计算器——SpeedCrunch

Posted by nanxiao on 十二月 25, 2016 in 技术 |

SpeedCrunch是一款可以在Windows,Mac OS X和Linux三个平台上使用的科学计算器,其主 […]

标签:

0

Python知识库(1)——class variable和instance variable

Posted by nanxiao on 十二月 23, 2016 in Python知识库 |

一个好的Python实践是把创建instance variable的工作放到__init__函数中。当然可以在 […]

标签:

0

CUDA编程笔记(14)——zero-copy memory

Posted by nanxiao on 十二月 20, 2016 in CUDA编程笔记 |

这篇笔记摘自Professional CUDA C Programming: In general, the […]

标签:,

0

CUDA编程笔记(13)——pinned memory

Posted by nanxiao on 十二月 20, 2016 in CUDA编程笔记 |

这篇笔记摘自Professional CUDA C Programming: Allocated host m […]

标签:,

1

Unix之殇

Posted by nanxiao on 十二月 17, 2016 in 技术 |

前几天网上出现了Solaris项目将会被Oracle停掉的谣言。尽管消息一直未被证实,但是以Solaris为代 […]

标签:, ,

Copyright © 2013-2017 我的站点 All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.5, from BuyNowShop.com.