Man page - pthread_once(3)

Packages contains this manual

Available languages:

en fr ja ro de

Manual

PTHREAD_ONCE

ๅ ๅ‰
ๆ›ธ ๅผ
่ชฌ ๆ˜Ž
่ฟ” ใ‚Š ๅ€ค
ใ‚จ ใƒฉ ใƒผ
่‘— ่€…

ๅ ๅ‰

pthread_once - 1 ๅ›ž ใ ใ‚Š ใฎ ๅˆ ๆœŸ ๅŒ–

ๆ›ธ ๅผ

#include <pthread.h>

pthread_once_t once_control = PTHREAD_ONCE_INIT;

int pthread_once(pthread_once_t * once_control , void (* init_routine ) (void));

่ชฌ ๆ˜Ž

pthread_once ใฎ ็›ฎ ็š„ ใฏ ใ€ ๅˆ ๆœŸ ๅŒ– ใ‚ณ ใƒผ ใƒ‰ ใŒ ้ซ˜ ใ€… 1 ๅ›ž ใ— ใ‹ ๅฎŸ ่กŒ ใ• ใ‚Œ ใช ใ„ ใ‚ˆ ใ† ใซ ใ™ ใ‚‹ ใ“ ใจ ใง ใ‚ ใ‚‹ ใ€‚ ๅผ• ๆ•ฐ once_control ใฏ ้™ ็š„ ๅค‰ ๆ•ฐ ใพ ใŸ ใฏ ๅค– ้ƒจ ๅค‰ ๆ•ฐ ใ‚’ ๆŒ‡ ใ— ็คบ ใ— ใ€ ้™ ็š„ ใซ PTHREAD_ONCE_INIT ใจ ใ„ ใ† ๅ€ค ใซ ๅˆ ๆœŸ ๅŒ– ใ• ใ‚Œ ใฆ ใ„ ใช ใ‘ ใ‚Œ ใฐ ใช ใ‚‰ ใช ใ„ ใ€‚

ๆœ€ ๅˆ ใซ ๅผ• ๆ•ฐ once_control ใจ ใจ ใ‚‚ ใซ pthread_once ใŒ ๅ‘ผ ใณ ๅ‡บ ใ• ใ‚Œ ใŸ ใจ ใ ใซ ใฏ ใ€ init_routine ใ‚’ ๅผ• ๆ•ฐ ใช ใ— ใง ๅ‘ผ ใณ ๅ‡บ ใ— ใ€ ๅค‰ ๆ•ฐ once_control ใฎ ๅ€ค ใ‚’ ๅค‰ ๆ›ด ใ— ใฆ ๅˆ ๆœŸ ๅŒ– ใŒ ่กŒ ใช ใ‚ ใ‚Œ ใŸ ใ“ ใจ ใ‚’ ่จ˜ ้Œฒ ใ™ ใ‚‹ ใ€‚ ใ ใฎ ๅพŒ ๅŒ ใ˜ ๅผ• ๆ•ฐ once_control ใจ ใจ ใ‚‚ ใซ pthread_once ใŒ ๅ‘ผ ใณ ๅ‡บ ใ• ใ‚Œ ใŸ ใจ ใ ใฏ ไฝ• ใ‚‚ ใ— ใช ใ„ ใ€‚

่ฟ” ใ‚Š ๅ€ค

pthread_once ใฏ ๅธธ ใซ 0 ใ‚’ ่ฟ” ใ™ ใ€‚

ใ‚จ ใƒฉ ใƒผ

ใช ใ— ใ€‚

่‘— ่€…

Xavier Leroy <Xavier.Leroy@inria.fr>

[่จณ ๆณจ ] glibc-linuxthreads ใฎ ๆœ€ ๆ–ฐ ใฎ ใƒ‰ ใ‚ญ ใƒฅ ใƒก ใƒณ ใƒˆ ใฏ Texinfo ๅฝข ๅผ ใง ๆ ไพ› ใ• ใ‚Œ ใฆ ใ„ ใ‚‹ ใ€‚ ไปฅ ไธ‹ ใฏ glibc-linuxthreads-2.3.1 ใฎ Texinfo ใƒ• ใ‚ก ใ‚ค ใƒซ ใ‹ ใ‚‰ ใฎ ๅผ• ็”จ ใง ใ€ ใ€Œ ่ชฌ ๆ˜Ž ใ€ ใธ ใฎ ่ฟฝ ่จ˜ ใซ ใ‚ ใŸ ใ‚‹ ใ‚‚ ใฎ ใง ใ‚ ใ‚‹ ใ€‚

ใ‚น ใƒฌ ใƒƒ ใƒ‰ ใŒ init_routine ใ‚’ ๅฎŸ ่กŒ ไธญ ใซ ๅ– ใ‚Š ๆถˆ ใ— ใ• ใ‚Œ ใŸ ๅ ด ๅˆ ใ€ once_control ใฏ ใƒช ใ‚ป ใƒƒ ใƒˆ ใ• ใ‚Œ ใ€ ๅฐ† ๆฅ pthread_once ใŒ ๅ‘ผ ใณ ๅ‡บ ใ• ใ‚Œ ใŸ ใจ ใ ๅˆ ๆœŸ ๅŒ– ใƒซ ใƒผ ใƒ ใƒณ ใฏ ๅ† ใณ ๅฎŸ ่กŒ ใ• ใ‚Œ ใ‚‹ ใ€‚

1 ใค ใพ ใŸ ใฏ ่ค‡ ๆ•ฐ ใฎ ใ‚น ใƒฌ ใƒƒ ใƒ‰ ใŒ pthread_once ใฎ ๅˆ ๆœŸ ๅŒ– ใƒซ ใƒผ ใƒ ใƒณ ใ‚’ ๅฎŸ ่กŒ ไธญ ใซ ใƒ— ใƒญ ใ‚ป ใ‚น ใŒ fork ใ— ใŸ ใจ ใ ใซ ใฏ ใ€ ๅญ ใƒ— ใƒญ ใ‚ป ใ‚น ใง ใฏ ใ ใ‚Œ ใž ใ‚Œ ใฎ once_control ๅค‰ ๆ•ฐ ใฏ ใƒช ใ‚ป ใƒƒ ใƒˆ ใ• ใ‚Œ ใŸ ใ‚ˆ ใ† ใซ ่ฆ‹ ใˆ ใ€ ๅญ ใƒ— ใƒญ ใ‚ป ใ‚น ใง pthread_once ใŒ ๅ‘ผ ใณ ๅ‡บ ใ• ใ‚Œ ใŸ ใจ ใ ๅˆ ๆœŸ ๅŒ– ใƒซ ใƒผ ใƒ ใƒณ ใฏ ๅฎŸ ่กŒ ใ• ใ‚Œ ใ‚‹ ใ€‚