什么是多线程应用程序?

Fra*_*ank 15 multithreading

我希望了解有关线程的更多信息,我想知道:什么是多线程应用程序?

Est*_*ber 23

多线程作为一种广泛的编程和执行模型,允许多个线程存在于单个进程的上下文中.这些线程共享进程的资源,但能够独立执行.线程编程模型为开发人员提供了有用的并发执行抽象.但是,该技术最有趣的应用可能是将其应用于单个进程以在多处理器系统上实现并行执行.

这意味着单个进程可以同时执行 许多不同的"功能" ,从而允许应用程序更好地使用可用硬件(多个核心/处理器).线程可以在它们之间进行通信(它们具有共享内存),但是在访问共享对象/内存时让每个线程与其他线程表现良好是一个难题.

在执行冗长的操作时,线程允许应用程序保持响应,而无需使用catch all应用程序循环.

例如,非线程copy程序不允许您在复制完成之前执行任何操作.

线程有助于解决复杂,冗长,独立的问题,但带来了更多的复杂性,即使对于经验丰富的开发人员来说也很难.


edu*_*ffy 5

这是一个可以同时做多件事的应用程序。例如,如果您在 Word 中绑定文档,则有一个线程响应您的键盘,有一个线程在检查您的拼写,有一个线程在检查您的语法,可能还有另一个线程保存您的文档备份以防万一程序崩溃。