作者tinlans ( )
看板Programming
标题Re: [问题] 请问有关user thread blocking system …
时间Wed Apr 9 01:48:53 2008
※ 引述《za755188 (tanis)》之铭言:
: 理论上kernel不会知道user thread在干嘛所以当某个thread发出了一个
: blocking system call之後整个process应该会被block住
: 但是之前写pthread有关的程式时,发现select()并不会block掉整个process
: 查了一些网路资料後大致上是说那些thread library会把原来的blocking calls
: 包起来,但我不了解的是,这个东西要怎麽实作呢?
: 可以给我一点方向吗?谢谢
这个没什麽,
你如果修过系统程式或相关课程的话,
应该知道有一种 symbol 叫做 weak symbol,
C standard library 将这些 function 定义为 weak symbol,
这样其它 library (如 pthread library) 就能取代原 library 的定义,
譬如 select() 就会使用 pthread library 提供的版本,
所以你会发现当你使用 pthread 时会 link 至少两个 library。
因为你是 113 的,
所以比较详细的东西还是留给你自己查比较好,
免得摧残国家栋梁。
--
Ling-hua Tseng (
[email protected])
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage:
https://it.muds.net/~uranus
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.221.133
※ 编辑: tinlans 来自: 61.230.221.133 (04/09 01:49)
1F:推 za755188:感谢 140.113.91.182 04/09 03:22