您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

对Java ThreadPool感到困惑

对Java ThreadPool感到困惑

这令人困惑,因为可运行对象被命名为WorkerThread,但是它们不扩展java.lang.Thread,它们只是实现可运行对象的对象。实施Runnable使您可以指定需要执行的任务,而不必实例化实际的Thread对象。在您的示例中创建的唯一线程是主线程和执行程序创建的线程。

请注意,即使您更改此代码以使WorkerThread扩展Thread,只要代码不对其调用start,也不会导致实际运行更多线程。构造线程对象涉及到诸如与安全管理器进行检查以及初始化threadlocals之类的事情,但是实际上在操作系统级别上并没有做任何事情来分配线程。就执行程序而言,它们只是Runnable,它将使用线程池的线程执行它们。

java 2022/1/1 18:30:28 有564人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶