{"id":"https://openalex.org/W1503478887","doi":"https://doi.org/10.5860/choice.36-1006","title":"Concurrent programming: the Java programming language","display_name":"Concurrent programming: the Java programming language","publication_year":1998,"publication_date":"1998-10-01","ids":{"openalex":"https://openalex.org/W1503478887","doi":"https://doi.org/10.5860/choice.36-1006","mag":"1503478887"},"language":"en","primary_location":{"id":"doi:10.5860/choice.36-1006","doi":"https://doi.org/10.5860/choice.36-1006","is_oa":false,"landing_page_url":"https://doi.org/10.5860/choice.36-1006","pdf_url":null,"source":{"id":"https://openalex.org/S2764375719","display_name":"Choice Reviews Online","issn_l":"0009-4978","issn":["0009-4978","1523-8253","1943-5975"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"host_organization":"https://openalex.org/P4310316146","host_organization_name":"Association of College and Research Libraries","host_organization_lineage":["https://openalex.org/P4310316146","https://openalex.org/P4310315903"],"host_organization_lineage_names":["Association of College and Research Libraries","American Library Association"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Choice Reviews Online","raw_type":"journal-article"},"volume":null,"type":"book-review","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":79,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":"36","issue":"02","first_page":"36","last_page":"1006"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.3986999988555908,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.3986999988555908,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.35010001063346863,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.10369999706745148,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/concurrent-programming","display_name":"concurrent programming","score":0.8669999837875366},{"id":"https://openalex.org/keywords/java-threads","display_name":"Java threads","score":0.8169999718666077},{"id":"https://openalex.org/keywords/thread-synchronization","display_name":"thread synchronization","score":0.7360000014305115},{"id":"https://openalex.org/keywords/race-conditions","display_name":"race conditions","score":0.8970000147819519},{"id":"https://openalex.org/keywords/mutual-exclusion","display_name":"mutual exclusion","score":0.7580000162124634},{"id":"https://openalex.org/keywords/semaphores","display_name":"semaphores","score":0.9819999933242798},{"id":"https://openalex.org/keywords/monitors","display_name":"monitors","score":0.9179999828338623},{"id":"https://openalex.org/keywords/deadlock","display_name":"deadlock","score":0.6299999952316284},{"id":"https://openalex.org/keywords/starvation","display_name":"starvation","score":0.7379999756813049},{"id":"https://openalex.org/keywords/producer-consumer-problem","display_name":"producer-consumer problem","score":0.6809999942779541},{"id":"https://openalex.org/keywords/dining-philosophers-problem","display_name":"dining philosophers problem","score":0.9150000214576721},{"id":"https://openalex.org/keywords/bounded-buffers","display_name":"bounded buffers","score":0.7860000133514404},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"object-oriented programming","score":0.5540000200271606},{"id":"https://openalex.org/keywords/inheritance-object-oriented-programming","display_name":"inheritance (object-oriented programming)","score":0.6850000023841858},{"id":"https://openalex.org/keywords/interfaces","display_name":"interfaces","score":0.5770000219345093},{"id":"https://openalex.org/keywords/packages","display_name":"packages","score":0.6169999837875366},{"id":"https://openalex.org/keywords/processor-scheduling","display_name":"process scheduling","score":0.6230000257492065},{"id":"https://openalex.org/keywords/context-switching","display_name":"context switching","score":0.9160000085830688}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8183387517929077},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7388532757759094},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5945870876312256},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.5015964508056641},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4906062185764313},{"id":"https://openalex.org/C15077461","wikidata":"https://www.wikidata.org/wiki/Q7248507","display_name":"Programming language specification","level":5,"score":0.4331427812576294},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.41590559482574463},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4125983417034149},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.36286163330078125},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.2718040347099304},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.2573363780975342},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.2555065155029297}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.5860/choice.36-1006","doi":"https://doi.org/10.5860/choice.36-1006","is_oa":false,"landing_page_url":"https://doi.org/10.5860/choice.36-1006","pdf_url":null,"source":{"id":"https://openalex.org/S2764375719","display_name":"Choice Reviews Online","issn_l":"0009-4978","issn":["0009-4978","1523-8253","1943-5975"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"host_organization":"https://openalex.org/P4310316146","host_organization_name":"Association of College and Research Libraries","host_organization_lineage":["https://openalex.org/P4310316146","https://openalex.org/P4310315903"],"host_organization_lineage_names":["Association of College and Research Libraries","American Library Association"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Choice Reviews Online","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W1885809555","https://openalex.org/W625012256","https://openalex.org/W2348087110","https://openalex.org/W1559216753","https://openalex.org/W7010562372","https://openalex.org/W7066676168","https://openalex.org/W2112229714","https://openalex.org/W2741245970","https://openalex.org/W7098989056","https://openalex.org/W2002823636"],"abstract_inverted_index":{"Preface":[0],"List":[1,4,351,354],"of":[2,5,345,352,355],"Figures":[3],"Tables":[6],"1.":[7],"Introduction":[8],"1.1":[9,16],"Hardware":[10,26,131],"and":[11,22,83,99,109,142,166,183,205,212,221,225,235,244,250,278,359],"Software":[12,117,123],"Concepts":[13],"1.1.1":[14],"Processes":[15],"2":[17],"Threads":[18,79,121,129],"1.1.4":[19],"CPU":[20],"Scheduling":[21,84],"Context":[23],"Switching":[24],"1.1.5":[25],"Protection":[27],"2.":[28],"The":[29,112,162,173,177,181,208,215,219,231,238,242,304],"Java":[30,78,145,228,269,289,321],"Programming":[31,76],"Language":[32],"2.1":[33],"Sequential":[34],"Features":[35],"2.1.1":[36],"Single-Class":[37],"Static":[38,42],"Programs":[39,43,68],"2.1.2":[40],"Multi-Class":[41],"2.2":[44],"Objects":[45,258],"2.3":[46],"Command":[47],"Line":[48],"Argument":[49],"Parsing":[50],"2.4":[51],"Inheritance":[52],"2.4.1":[53],"Interfaces":[54],"2.4.2":[55],"User-Defined":[56],"Exceptions":[57],"2.5":[58],"Packages":[59],"2.5.1":[60],"Mathematical":[61],"Functions":[62],"2.6":[63],"Genetic":[64],"Algorithms":[65,196],"2.7":[66],"Animating":[67,193],"with":[69,262,320],"Java's":[70],"AWT":[71],"2.8":[72],"Exercises":[73,137,198,274,323,348],"3.":[74],"Concurrent":[75],"3.1":[77],"3.1.1":[80],"Thread":[81,87,100,107],"States":[82],"3.2.1":[85],"Other":[86],"Methods":[88],"3.2":[89],"Why":[90],"Use":[91],"Threads?":[92],"3.3":[93],"Debugging":[94],"Techniques":[95],"3.4":[96],"Race":[97],"Conditions":[98],"Synchronization":[101,291],"3.4.1":[102],"Memory":[103,341],"System":[104],"Behavior":[105],"3.4.2":[106],"Priorities":[108],"Starvation":[110],"3.5":[111],"Mutual":[113,297],"Exclusion":[114,298],"Problem":[115],"3.5.1":[116],"Solutions":[118,124,132,135,160],"for":[119,125,268],"Two":[120,128],"3.5.2":[122],"More":[126,318],"Than":[127],"3.5.3":[130],"3.5.4":[133],"Blocking":[134],"3.6":[136],"4.":[138],"Semaphores":[139,146,149,152,189,263],"4.1":[140],"Definitions":[141,202,284,328],"Implementation":[143],"4.2":[144],"4.2.1":[147],"Binary":[148,191,249],"4.2.2":[150],"Counting":[151,188,251],"4.3":[153],"Classical":[154],"Operating":[155,194],"Systems":[156,195],"Problems":[157],"4.4":[158],"Semaphore":[159,252],"4.4.1":[161],"Bounded":[163,170,209,232],"Buffer":[164,210,233],"Producer":[165,211,234],"Consumer":[167,213,236],"4.4.2":[168],"Using":[169,292],"Buffers":[171],"4.4.3":[172],"Sleeping":[174],"Barber":[175],"4.4.4":[176],"Dining":[178,216,239,306],"Philosophers":[179,240,307],"4.4.5":[180],"Readers":[182,220,243],"Writers":[184,222,245],"4.5":[185],"Deadlock":[186,247],"4.6":[187],"From":[190],"4.7":[192],"4.8":[197],"5.":[199],"Monitors":[200,229,253,261],"5.1":[201],"5.2":[203],"Signal":[204,224],"Exit":[206],"5.2.1":[207],"5.2.2":[214],"Philosphers":[217],"5.2.3":[218],"5.3":[223],"Continue":[226],"5.3.1":[227],"5.3.2":[230],"5.3.3":[237],"5.3.4":[241],"5.4":[246],"5.5":[248],"5.6":[254],"Locks":[255],"5.7":[256],"Notification":[257],"5.8":[259],"Implementing":[260],"5.8.1":[264],"Named":[265],"Condition":[266],"Variables":[267],"5.9":[270],"Algorithm":[271],"Animation":[272,319],"5.10":[273],"6.":[275],"Message":[276,282,286,293,301,332,337],"Passing":[277,283,287,294,302,333,338],"the":[279],"Rendezvous":[280,309,312],"6.1":[281],"6.2":[285],"in":[288],"6.2.1":[290],"6.2.2":[295],"Distributed":[296,305],"6.2.3":[299],"Conditional":[300,311],"6.2.4":[303],"6.3":[308],"6.3.1":[310],"6.4":[313],"Remote":[314],"Method":[315],"Invocation":[316],"6.5":[317],"6.6":[322],"7.":[324],"Parallel":[325,331],"Computing":[326],"7.1":[327],"7.2":[329],"Data":[330],"7.3":[334],"Worker":[335],"Crew":[336],"7.4":[339],"Shared":[340],"Parallelism":[342],"7.5":[343],"Patterns":[344],"Communication":[346],"7.6":[347],"Bibliography":[349],"Index":[350],"Programs/Classes":[353],"Library":[356,360],"Classes":[357],"Program":[358],"Class":[361],"Source":[362],"Code":[363]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
