我几乎是Java的新手。我知道多线程是将程序分成几个任务,以便它们可以并发运行的操作。我对这个概念有两个问题。
首先,据说应用服务器为每个请求创建一个线程。我不能将此每个请求线程与程序的线程相关联。假设有一个程序,其中有5个线程同时执行任务。每个请求的单个线程将如何处理该程序的5个线程?
其次,我在掌握线程池的概念时遇到了问题。是关于应用服务器为每个请求创建的线程,还是关于并发执行任务的程序线程?
发布于 2019-04-01 22:19:09
我在理解线程池的概念时遇到了问题。
一个简单的线程池是一个正在运行的线程(也称为工作线程)的集合,在这个集合中,每个线程不断地尝试从BlockingQueue中获取一个任务对象,当它获得一个任务对象时,它会执行该任务,然后返回队列等待下一个任务。
任务是一个具有一些众所周知的方法的对象,工作人员调用它来“执行”任务。例如,在Java标准库定义的线程池中,任务对象要么是Runnable实例,要么是Callable实例,工作者通过调用task.run()或task.call()来执行任务。
https://stackoverflow.com/questions/55456821
复制相似问题