Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
7 / 1 / 0
Регистрация: 05.10.2019
Сообщений: 44

Многопоточность в функции

15.02.2021, 20:47. Показов 631. Ответов 1

Студворк — интернет-сервис помощи студентам
В задании нужно создать функцию, которая принимает на вход список из строк, число n (число наиболее часто встречающихся строк) и кол-во потоков
функция возвращает n наиболее часто встречающихся строк
Всё, кроме потоков, в коде ниже - реализовано в функции topKFrequentAlternate(). впервые сталкиваюсь с многопоточностью и не имею понятия, как распараллелить(?) работу функции. помогите если можете показать или объяснить как это делать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import java.util.*;
class text{
 
    public List<String> topKFrequentAlternate(final List<String>  words, int k) {
        final Map<String, Integer> freq = new HashMap<>();
 
        final Queue<WordFreq> queue = new PriorityQueue<>((w1, w2) -> {
            if (w1.getFreq() != w2.getFreq()) {
                return w1.getFreq() - w2.getFreq();
            }
            return w2.getWord().compareTo(w1.getWord());
        });
 
        final List<String> result = new ArrayList<>();
 
        for (final String word : words) {
            if (freq.containsKey(word)) {
                final int count = freq.get(word);
                freq.put(word, count + 1);
            } else {
                freq.put(word, 1);
            }
        }
 
        for (final Map.Entry<String, Integer> entry : freq.entrySet()) {
            queue.offer(new WordFreq(entry.getKey(), entry.getValue()));
 
            if (queue.size() > k) {
                queue.poll();
            }
        }
 
        while (k-- > 0) {
            result.add(queue.poll().getWord());
        }
 
        Collections.reverse(result);
        return result;
    }
}
class WordFreq {
    private final String word;
    private final int freq;
    WordFreq(final String word, final int freq) {
        this.word = word;
        this.freq = freq;
    }
    String getWord() {
        return this.word;
    }
    int getFreq() {
        return this.freq;
    }
    @Override
    public String toString() {
        return Objects.toString(word) + "->" + Objects.toString(freq);
    }
 
    public static void main (String[] args){
        text t = new text();
        Scanner input = new Scanner(System.in);
        System.out.println("Enter array length: ");
        int size = input.nextInt(); 
 
        List<String> SubArray2 = new ArrayList<>(); 
 
        System.out.println("Insert array elements:");
 
        for (int i = 0; i < size; i++) {
            SubArray2.add(input.next());
        }
        System.out.println("Enter number of queries: ");
        int query = input.nextInt();
        List<String> res = new ArrayList<String>();
        res = t.topKFrequentAlternate(SubArray2,query);
        ListIterator<String> lItr = res.listIterator();
        while (lItr.hasNext()){
            System.out.println(lItr.next());
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2021, 20:47
Ответы с готовыми решениями:

Многопоточность в вычислениях функции
Здравствуйте. Скажите пожалуйста, как в функции вычисление qDebug()&lt;&lt;i*a; проводить в разных потоках, ускоряя таким образом вычисления? ...

Как применить многопоточность к функции-вложенному циклу?
Так правильно? void Multip(int A, int B, int AB) { /* Устанавливаю число потоков - 2 */ int threadsNum = 2; ...

Организовать работу функции так, чтобы программа не дожидалась окончания её выполнения (многопоточность)
Всем привет. Только начинаю применять многопоточность. В нижеследующем коде нужно организовать таким образом, чтобы программа не дожидалась...

1
 Аватар для Aviz__
2757 / 2064 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
15.02.2021, 20:59
Цитата Сообщение от severny111 Посмотреть сообщение
впервые сталкиваюсь с многопоточностью и не имею понятия
вникай https://www.youtube.com/playli... shwoo1xNWv
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2021, 20:59
Помогаю со студенческими работами здесь

Многопоточность
Доброго времени суток всем. Народ задача стоит многопоточное умножение матриц. Ну если я правильно всё догнал, то получается примерно...

Многопоточность
Мне нужно сделать класс, от которого можно наследовать ещё какой-нибудь класс с какой-то определённой функцией и определенными параметрами...

Многопоточность в С++
Добрый день! Если я создам экземпляр класса в одном потоке и начну одновременно из нескольких других потоков обращаться тому...

Многопоточность
Всем привет. Как реализовать многопоточность с выбором количества потоков? Буду очень благодарен.

Многопоточность
Собсно захотел,что бы пакет отправлялся с разных прокси в разных потоках. метод имеет такой вид: public static void pars(Form1 fr) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru