{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:41:50Z","timestamp":1750308110709,"version":"3.41.0"},"reference-count":3,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2005,4,1]],"date-time":"2005-04-01T00:00:00Z","timestamp":1112313600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2005,4]]},"abstract":"<jats:p>We present a new pattern for implementing worker threads that is more flexible than traditional patterns. Traditional worker threads receive command messages with enumerated IDs that refer to pre-defined behaviors. In our new pattern, worker threads receive function pointers, and they have only one behavior: invoke the function. In this way, new behaviors can be passed in to the thread at run-time rather than having to be pre-defined. In addition, we present in-place consumption as an improvement for command message queues that reduces the number of times data needs to be copied.<\/jats:p>","DOI":"10.1145\/1055218.1055224","type":"journal-article","created":{"date-parts":[[2005,11,7]],"date-time":"2005-11-07T19:28:32Z","timestamp":1131391712000},"page":"71-73","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["A new pattern for flexible worker threads with in-place consumption message queues"],"prefix":"10.1145","volume":"39","author":[{"given":"Robert","family":"Steinke","sequence":"first","affiliation":[{"name":"Jet Propulsion Laboratory, Pasadena, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Micah","family":"Clark","sequence":"additional","affiliation":[{"name":"Jet Propulsion Laboratory, Pasadena, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Elihu","family":"McMahon","sequence":"additional","affiliation":[{"name":"Jet Propulsion Laboratory, Pasadena, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2005,4]]},"reference":[{"issue":"2","key":"e_1_2_1_1_1","first-page":"42","volume":"29","author":"Barile I.","year":"2004","unstructured":"I. Barile : I\/O Multiplexing & Scalable Socket Servers. Dr. Dobb's Journal , Vol. 29 , No. 2 , Feb 2004 , pp. 42 -- 45 I. Barile: I\/O Multiplexing & Scalable Socket Servers. Dr. Dobb's Journal, Vol. 29, No. 2, Feb 2004, pp. 42--5","journal-title":"I\/O Multiplexing & Scalable Socket Servers. Dr. Dobb's Journal"},{"key":"e_1_2_1_2_1","unstructured":"JTC1.22.19768 ISO\/IEC TR 19768 - C++ Library Extensions available from: http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/projects#19768  JTC1.22.19768 ISO\/IEC TR 19768 - C++ Library Extensions available from: http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/projects#19768"},{"key":"e_1_2_1_3_1","volume-title":"D","author":"Beck M.","year":"2002","unstructured":"M. Beck , H. Bohme , M. Dziadzka , U. Kunitz , R. Magnus , C. Schroter , D . Verworner : Linux Kernel Programming, 3 rd Edition. Addison Wesley , London, 2002 M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, C. Schroter, D. Verworner: Linux Kernel Programming, 3rd Edition. Addison Wesley, London, 2002","edition":"3"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1055218.1055224","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1055218.1055224","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:11Z","timestamp":1750262891000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1055218.1055224"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,4]]},"references-count":3,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2005,4]]}},"alternative-id":["10.1145\/1055218.1055224"],"URL":"https:\/\/doi.org\/10.1145\/1055218.1055224","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2005,4]]},"assertion":[{"value":"2005-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}