Многопоточное программирование в Java — это возможность выделить в приложении несколько потоков, которые будут выполнять различные задачи одновременно. 3
Каждая часть такой программы называется потоком и определяет отдельный путь выполнения команд. 1 Например, текст может форматироваться в редакторе одновременно с его выводом на печать, при условии, что оба эти действия выполняются в двух отдельных потоках. 1
Преимущества многопоточной обработки заключаются в том, что она позволяет писать программы, которые работают эффективно благодаря возможности выгодно использовать время простоя, неизбежно возникающее в ходе выполнения большинства программ. 1 Например, в то время как одна часть программы отправляет файл через соединение с Интернетом, другая её часть может выполнять чтение текстовой информации, вводимой с клавиатуры, а третья — осуществлять буферизацию очередного блока отправляемых данных. 1
В основу системы многопоточной обработки в Java положены класс Thread и интерфейс Runnable, входящие в пакет java.lang. 1