OSDN Git Service

SDL_RWFromMem 関連する関数を追加
[sdl2referencejp/sdl2referencejp.git] / SDL_SemPost.html
index 1bf5788..6e38ec7 100644 (file)
@@ -12,7 +12,7 @@
 <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_SemPost\r
 <hr>\r
 <h1>SDL_SemPost</h1>\r
-\83Z\83}\83t\83H\82Ì\92l\82ð\89Á\8eZ\82µ, \91Ò\8b@\92\86\82Ì\83X\83\8c\83b\83h\82ð\8dÄ\8aJ\82·\82é\r
+\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é\r
 <h2>\8d\\95¶</h2>\r
 <code>int SDL_SemPost(SDL_sem* sem)</code>\r
 <h2>\88ø\90\94</h2>\r
 <h2>\96ß\82è\92l</h2>\r
 \90¬\8c÷\82Ì\82Æ\82«0, \8e¸\94s\82Ì\82Æ\82«\95\89\82Ì\90\94\82Ì\83G\83\89\81[\83R\81[\83h\82ð\96ß\82·.\r
 <a href="SDL_GetError.html">SDL_GetError()</a>\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+SDL_atomic_t done;\r
+SDL_sem *sem;\r
+\r
+SDL_AtomicSet(&amp;done, 0);\r
+sem = SDL_CreateSemaphore(0);\r
+.\r
+.\r
+Thread A:\r
+    while (!SDL_AtomicGet(&amp;done)) {\r
+        add_data_to_queue();\r
+        SDL_SemPost(sem);\r
+    }\r
+\r
+Thread B:\r
+    while (!SDL_AtomicGet(&amp;done)) {\r
+        SDL_SemWait(sem);\r
+        if (data_available()) {\r
+            get_data_from_queue();\r
+        }\r
+    }\r
+.\r
+.\r
+SDL_AtomicSet(&amp;done, 1);\r
+SDL_SemPost(sem);\r
+wait_for_threads();\r
+SDL_DestroySemaphore(sem);\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
 <a href="SDL_CreateSemaphore.html">SDL_CreateSemaphore</a><br>\r
 <a href="SDL_DestroySemaphore.html">SDL_DestroySemaphore</a><br>\r