如何按顺序进行多线程处理?

AKS*_*AKS 2 java concurrency multithreading

这是我试图解决的问题,但不知道该怎么做:我有一个对象数组(比如大小为100),每个对象都有一些id.

Class Employee{
   int EmployeeId;
}
Run Code Online (Sandbox Code Playgroud)

有10个线程将从该数组中读取数据并将其插入数据库.

如何确保数据按照递增顺序的EmployeeId顺序插入到DB中. 例如:

如果array具有EmployeeID 6,8和4的对象,那么这些对象应按照EmployeeID 4,6和DB中的8顺序插入到DB中.如何为此编写多线程代码?

更新:请忽略数据库部分,如果它令人困惑,我的主要目的是同时处理,但按顺序处理.

ζ--*_*ζ-- 5

我想你在这里不了解线程的使用.线程1用于并行任务,其中(除了一些障碍)排序无关紧要并且您的线程并行运行.您需要一个简单的循环或其他类型的串行行为.

您可以使用一个线程轻松完成此操作.你可以在这里采取安全的道路.线程不保证有关优化和排序的任何内容.如果预处理很昂贵,请以线程方式执行,然后确保所有线程都以a结束,CountdownLatch然后插入到数据库中.

1线程可导致死亡,窒息,发冷,发烧,溺水,感染,恶心,以及无法控制重型机械.