我有一个循环,但它太重了,所以我想在多个线程中共享相同的内容,但我不知道该怎么做。
while(!labyrinth.exit(bob3) && !labyrinth.exit(bob2)) {
Collection<Room> accessibleRooms = labyrinth.accessibleRooms(bob3);
if (bob3.canMove()) {
destination = bob3.makeChoice(accessibleRooms);
}
if (destination != bob3.getPosition()) {
destination.receive(bob3);
}
accessibleRooms = labyrinth.accessibleRooms(bob2);
if (bob2.canMove()) {
destination = bob2.makeChoice(accessibleRooms);
}
if (destination != bob2.getPosition()) {
destination.receive(bob2);
}
}
如您所见,在这个循环中,我们有两个相同的操作,因此可以让每个操作使用不同的线程。