Преобразование последовательной Java в параллельный код Java - PullRequest
1 голос
/ 25 февраля 2010

Я планирую сделать проект на Java, в котором я хочу преобразовать последовательный Java-код в параллельный Java-код и измерить эффективность. Есть предложения о том, какое бесплатное Java-приложение с исходным кодом будет лучшим для моего проекта. Любые другие предложения о том, как это сделать?

Заранее спасибо Дело

Ответы [ 3 ]

3 голосов
/ 25 февраля 2010

Я думаю, что вы можете использовать Java Concurrency Framework, который поставляется с JDK.http://java.sun.com/j2se/1.5.0/docs/guide/concurrency/

0 голосов
/ 27 сентября 2016

Вот самое простое решение.

Runnable runnableObject = new Runnable() {
   public void run() {
      try {
      ... call your original logic ...
      } catch (Exception ex) {
      ... Exception handling ...
      } finally {
      ... final action ...
      }
  }
}

ArrayList listThreads = new ArrayList();
for (int i=0; i<CONCURRENT_THREADS_SIZE; i++) {
   Thread threadObject = new Thread(runnableObject, "mythread-" + i);
   threadObject.start();
   listThreads.add(threadObject);
}
0 голосов
/ 25 февраля 2010

Вопрос в том, могут ли задачи, которые вы выполняете с вашим кодом, выполняться одновременно или нет. Если ваш код был написан как последовательный, то сначала вам нужно определить, какие задачи могут выполняться одновременно, каковы взаимозависимости между этими задачами, нужно ли им взаимодействовать или они независимы. Если они должны взаимодействовать, вам понадобятся общие объекты, блокировки и т. Д. Вам нужно решить, следует ли вам использовать пулы потоков или создавать свои собственные потоки каждый раз для каждой новой задачи. Большинство из них будут очень специфичными для вашей ситуации, поэтому не может быть общего ответа. После того, как вы разобрались со всем этим, ознакомьтесь с документацией по параллелизму Java о том, как это реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...