作者: David Hovemeyer
DOI:
关键词:
摘要: Because threads are a core feature of the Java language, widespread adoption has exposed much wider audience to concurrency than previous languages have. Concurrent programs notoriously difficult write correctly, and many subtle bugs can result from incorrect use synchronization. Therefore, finding techniques find is an important problem. Through development automatic static analysis tool, we have found significant number in widely used applications libraries. Interestingly, that race conditions abound concurrent programs; underuse synchronization rule rather exception. We also examples other kinds errors, suggesting programmers fundamental misconceptions about how correct multithreaded programs. This paper makes two main contributions. First, it describes simple effective at errors real Second, provides evidence misused Java, even written by experienced programmers.