Artigo Revisado por pares

The Problem with Threads

2006; IEEE Computer Society; Volume: 39; Issue: 5 Linguagem: Inglês

10.1109/mc.2006.180

ISSN

1558-0814

Autores

Edward A. Lee,

Tópico(s)

Interconnection Networks and Systems

Resumo

For concurrent programming to become mainstream, we must discard threads as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs. In general-purpose software engineering practice, we have reached a point where one approach to concurrent programming dominates all others namely, threads, sequential processes that share memory. They represent a key concurrency model supported by modern computers, programming languages, and operating systems. In scientific computing, where performance requirements have long demanded concurrent programming, data-parallel language extensions and message-passing libraries such as PVM, MPI, and OpenMP dominate over threads for concurrent programming. Computer architectures intended for scientific computing often differ significantly from so-called general-purpose architectures.

Referência(s)
Altmetric
PlumX