Get the App
SLTechnology News&Howtos  ›  Development  › 

How does java realize that a single thread starts multiple threads to process a list and the parent thread processes other operations after all child threads have finished processing?

Shulou Source: shulou.com Published: 2022-06-02 06:08:12 09月14日 Update

This article will explain in detail how java can start multiple threads in a single thread to deal with a list and then deal with other operations after all child threads are processed. Xiaobian thinks it is very practical, so I share it with you for reference. I hope you can get something after reading this article.

Main class: ParentChildMain

Parent thread class: ParentChildPoolTest

Subthread class: ParentChildDoThread

Thread pool: ThreadPool

Import java.util.ArrayList

Public class ParentChildMain {

Private static ArrayList list = new ArrayList ()

Private static int controlNum = 0

Private static int listNum = 0

Public ParentChildMain () {

For (int I = 0; I < 50; iTunes +) {

List.add (String.valueOf (I))

}

ListNum = list.size ()

ParentChildPoolTest test = new ParentChildPoolTest ()

Test.start ()

}

Public static synchronized String getControlObj () {

If (listNum = = controlNum) {

Return null

}

String retValue = (String) list.get (controlNum)

ControlNum + +

Return retValue

}

Public static void main (String [] args) {

ParentChildMain main = new ParentChildMain ()

}

}

Import java.util.ArrayList

Public class ParentChildPoolTest extends Thread {

Int numThreads = 10

Int numTasks = 4

Public ParentChildPoolTest () {

}

Public void run () {

/ / generate thread pool

ThreadPool threadPool = new ThreadPool (numThreads)

/ / run the task

For (int item0; I

Tags: Threads tasks processing articles runs post-parents multiple more good practical content articles knowledge idle order references help related generation restrictions Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS Apple OPPO Reno vpn MySQL