Я работаю над своим лабораторным уроком, Многопоточность.
В многопоточности я знаю, что, если мы используем ключевое слово synchronized
, оно никогда не позволяет использовать все потоки в методе одновременно, но помещает их впоставьте их в очередь и дайте им доступ только к одному.
Но мой учитель сказал, что не рекомендуется использовать синхронизированный (не выяснил, почему, но спросит в следующем классе).
Здесьмой код
import java.util.HashMap;
import java.util.Map;
public class Testmultithread {
static String printMe(int inp) {
return Integer.toString(inp);
}
public static void main(String[] args) {
Map<String, Integer> listofval = new HashMap<String, Integer>();
listofval.put("1", 1);
listofval.put("2", 2);
listofval.put("3", 3);
listofval.put("4", 4);
listofval.put("5", 5);
for (Map.Entry<String, Integer> entry : listofval.entrySet()) {
Testmultithread.printMe(entry.getValue());
}
}
}
Могу ли я узнать, как мне достичь многопоточности в приведенном выше коде (записи карты, имеющие доступ к методу printMe
на уровне многопоточности) без использования ключевого слова synchronized
...?
Подскажите пожалуйста ...!
Спасибо