OSDN Git Service

SDL_HINT_RENDER_DRIVER metalを追加した https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER...
[sdl2referencejp/sdl2referencejp.git] / SDL_CreateSemaphore.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
2 <html lang="ja-JP">\r
3 <head>\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
5 <meta http-equiv="Content-Style-Type" content="text/css">\r
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">\r
7 <link rel="top" href="index.html" title="\83z\81[\83\80">\r
8 <link rel="parent" href="CategoryMutex.html" title="1\82Â\8fã">\r
9 <title>SDL_CreateSemaphore</title>\r
10 </head>\r
11 <body>\r
12 <a href="index.html">\96Ú\8e\9f</a> - <a href="ApiByCategory.html">API(\8b@\94\\95Ê)</a> - <a href="CategoryMutex.html">\93¯\8aú\83v\83\8a\83~\83e\83B\83u</a> - SDL_CreateSemaphore\r
13 <hr>\r
14 <h1>SDL_CreateSemaphore</h1>\r
15 \90V\82µ\82¢\83Z\83}\83t\83H\82ð\90\90¬\82·\82é\r
16 <h2>\8d\\95¶</h2>\r
17 <code>SDL_sem* SDL_CreateSemaphore(Uint32 initial_value)</code>\r
18 <h2>\88ø\90\94</h2>\r
19 <table border="1" summary="SDL_CreateSemaphore">\r
20 <tr><td>initial_value</td><td>\83Z\83}\83t\83H\82Ì\8f\89\8aú\92l</td></tr>\r
21 </table>\r
22 <h2>\96ß\82è\92l</h2>\r
23 \90V\82µ\82¢\83Z\83}\83t\83H\82ð\96ß\82·. \8e¸\94s\82Ì\82Æ\82«NULL\82ð\96ß\82·.\r
24 <a href="SDL_GetError.html">SDL_GetError()</a>\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
25 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
26 <p>\r
27 \83Z\83}\83t\83H\82Ì\93T\8c^\93I\82È\8eg\82¢\95û:\r
28 <code>\r
29 <pre>\r
30 SDL_atomic_t done;\r
31 SDL_sem *sem;\r
32 \r
33 SDL_AtomicSet(&amp;done, 0);\r
34 sem = SDL_CreateSemaphore(0);\r
35 .\r
36 .\r
37 Thread A:\r
38     while (!SDL_AtomicGet(&amp;done)) {\r
39         add_data_to_queue();\r
40         SDL_SemPost(sem);\r
41     }\r
42 \r
43 Thread B:\r
44     while (!SDL_AtomicGet(&amp;done)) {\r
45         SDL_SemWait(sem);\r
46         if (data_available()) {\r
47             get_data_from_queue();\r
48         }\r
49     }\r
50 .\r
51 .\r
52 SDL_AtomicSet(&amp;done, 1);\r
53 SDL_SemPost(sem);\r
54 wait_for_threads();\r
55 SDL_DestroySemaphore(sem);\r
56 </pre>\r
57 </code>\r
58 </p>\r
59 <h2>\8fÚ\8d×</h2>\r
60 \82±\82Ì\8aÖ\90\94\82Í\90V\82µ\82¢\83Z\83}\83t\83H\82ð\90\90¬\82µ, initial_value\82Ì\92l\82Å\8f\89\8aú\89»\82·\82é.\r
61 \83Z\83}\83t\83H\82Ì\91Ò\8b@\91\80\8dì\82Å\83A\83g\83~\83b\83N(\95s\89Â\95ª)\82É\83Z\83}\83t\83H\82Ì\92l\82ð1\8c¸\8eZ\82·\82é. \82à\82µ\83Z\83}\83t\83H\82Ì\92l\82ª0\82È\82ç\82Î\91Ò\8b@\82·\82é.\r
62 \92Ê\92m\91\80\8dì\82Å\83A\83g\83~\83b\83N\82É\83Z\83}\83t\83H\82Ì\92l\82ð1\89Á\8eZ\82µ, \91Ò\8b@\92\86\82Ì\83X\83\8c\83b\83h\82ð\8dÄ\8aJ\82µ, \82»\82ê\82ç\82ª\8dÄ\82Ñ\91Ò\8b@\91\80\8dì\82ð\82·\82é\82±\82Æ\82ð\8b\96\89Â\82·\82é.\r
63 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
64 <a href="SDL_DestroySemaphore.html">SDL_DestroySemaphore</a><br>\r
65 <a href="SDL_SemPost.html">SDL_SemPost</a><br>\r
66 <a href="SDL_SemTryWait.html">SDL_SemTryWait</a><br>\r
67 <a href="SDL_SemValue.html">SDL_SemValue</a><br>\r
68 <a href="SDL_SemWait.html">SDL_SemWait</a><br>\r
69 <a href="SDL_SemWaitTimeout.html">SDL_SemWaitTimeout</a><br>\r
70 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
71 <a href="https://wiki.libsdl.org/SDL_CreateSemaphore">SDL_CreateSemaphore - SDL Wiki</a>\r
72 <hr>\r
73 </body>\r
74 </html>\r