Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173

Потоки для динамических объктов

27.10.2016, 09:55. Показов 1943. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я имею некий динамический объект - словарь или лист. И мне нужно организовать параллельный поиск, например, минимального значения. Можно ли для этого использовать потоки, таким образом, что при каждом изменении объекта - листа или словаря, на каждую запись в листе или словаре создавался свой поток.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2016, 09:55
Ответы с готовыми решениями:

Вывод объктов
Почему на экран ничего не выводится? <DOCTYPE html> <head><title>Эксперименты</title> <!--<script...

Как организовать счетчик объктов класса?
Привет всем; что-то не получается сделать подсчёт объектов класса делаю так: #include <iostream> class MyClass { ...

Нужен макрос по удалению объктов AutoShape
Приветствую всех форумчан. Есть у кого-нибудь макрос по удалению всех AutoShape с листа excel? Очень нужен. Заранее спасибо)))

12
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.10.2016, 10:00
Какая конечная задача? То, что ты сейчас описал выглядит как несуразица.
1
56 / 56 / 31
Регистрация: 24.10.2016
Сообщений: 186
27.10.2016, 10:01
Не могу понять вопрос. То есть, у вас есть список, вместо того, чтоб обойти его в цикле вы хотите запустить len(list) потоков?
1
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
27.10.2016, 10:16  [ТС]
Ну да, это задача моделирования поиска адресов в кэш-памяти
Вложения
Тип файла: docx Sposoby_otobrazhenia_osnovnoy_pamyati_na_kesh.docx (99.4 Кб, 6 просмотров)
0
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
28.10.2016, 22:01  [ТС]
Не знаю как можно реализовать ассоциативный поиск с помощью потоков, когда одновременно просматривается каждый элемент в словаре. И как можно распространить поток к следующим строкам кода - если после функции def conting идут еще строки.

Python
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
import threading
import time  
 
ADRESES = ['01110111001000101101000010111010', '01110111001000101101000010111011', '01110111001000101101000010111100', '01110111001000101101000010111101', '01110111001000101101000010111110', '01110111001000101101000010111111', '01110111001000101101000011000000', '01010111001000101101000010111010', '01010111001000101101000010111011', '01010111001000101101000010111100', '01010111001000101101000010111101', '01010111001000101101000010111110', '01010111001000101101000010111111', '01010111001000101101000011000000', '01010111001000101101000011000001', '01010111001000101101000011000010', '01010111001000101101000011000011', '01010111001000101101000011000100', '01010111001000101101000011000101', '01010111001000101101000011000110', '01010111001000101101000011000111', '01010111001000101101000011001000', '01010111001000101101000011001001', '01010111001000101101000011001010', '01010111001000101101000011001011', '01010111001000101101000011001100', '01010111001000101101000011001101', '01010111001000101101000011001110', '01010111001000101101000011001111', '01010111001000101101000011010000', '01010111001000101101000011010001', '01010111001000101101000011010010', '01010111001000101101000011010011', '01010111001000101101000011010100', '01010111001000101101000011010101', '01010111001000101101000011010110', '01010111001000101101000011010111', '01010111001000101101000011011000', '01010111001000101101000011011001', '01010111001000101101000011011010', '01010111001000101101000011011011', '01010111001000101101000011011100', '01010111001000101101000011011101', '01010111001000101101000011011110', '01010111001000101101000011011111', '01010111001000101101000011100000', '01010111001000101101000011100001', '01010111001000101101000011100010', '01010111001000101101000011100011', '01010111001000101101000011100100', '01010111001000101101000011100101', '01010111001000101101000011100110', '01010111001000101101000011100111', '01010111001000101101000011101000', '01010111001000101101000011101001', '01010111001000101101000011101010', '01010111001000101101000011101011', '01010111001000101101000011101100']
CASH={'g':1, 'h':12, '01110111001000101101000010111010': 0.7, '01110111001000101101000010111100': 1.45}
 
def counting(your_adresess, your_cash):
    catch=0
    miss=0
    for  adres in your_adresess:
        k=ADRESES.pop(0)
        time.sleep(0.4)
        u=time.time()
        for j in your_cash:
            if k==j:
                catch = catch+1
            else:
                miss = miss+1
    return miss, catch
 
 
t1 = Thread(target=counting, args=(ADRESES, CASH,))
t2 = Thread(target=counting, args=(ADRESES, CASH,))
 
t1.start()
t2.start()
t1.join()
t2.join()
Добавлено через 11 минут
Т.е. на каждую запись в CASH, мне нужно создать свой поток - но если она меняется каждый раз, т.е. при изменении размеров (словаря) как возможно регулировать количество создаваемых потоков для функции?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
28.10.2016, 22:04
SKY_SHY, нельзя копаться 2 потоками сразу в 1 объекте это бред! Одновременно нельзя работать с 1 объектом!
1
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
29.10.2016, 09:13  [ТС]
Т.е. мне нужно прикаждом изменении словаря создавать или завершать потоки? НО как это можно реализовать с применением семафоров?

Добавлено через 16 минут
И потом, я ведь не меняю объект - я просто ищу в нем значения и возвращаю количество miss (кэш-промахов), catch (кэш-попаданий)
0
56 / 56 / 31
Регистрация: 24.10.2016
Сообщений: 186
29.10.2016, 11:07
Цитата Сообщение от SKY_SHY Посмотреть сообщение
Т.е. мне нужно прикаждом изменении словаря создавать или завершать потоки?
Не нужно, можно создать N потоков по размеру словаря, но смысла в этом нет - во первых, в интерпретатор встроен GIL (Global Interpretator Lock), который не позволяет работать потокам одновременно, создается только иллюзия их одновременной работы. И во вторых - расходы на организацию множества потоков будут немалые, и по производительности такое решение будет сильно уступать простому циклу в одном потоке.
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
29.10.2016, 17:22
SKY_SHY, Если хочешь быстрее обрабатывать данные используй, что нибудь вроде numpy.
1
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
29.10.2016, 19:33  [ТС]
Спасибо, но вы не поняли, мне нужно искать сразу одновременно во всех элементах словаря какое-то значение, поэтому я хотел использовать мультипоточность.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
29.10.2016, 19:38
Ну уже несколько раз сказали, что это не получится.
1
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
29.10.2016, 19:48  [ТС]
Т.е. и процессами тоже не получится?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
29.10.2016, 20:13
НЕТ. Нельзя лазить по 1 объекту одновременно из 2 мест.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2016, 20:13
Помогаю со студенческими работами здесь

Инициализация объекта из массива объктов класса
Ребята подскажите, как создать массив объектов класса с инициализацией каждого? CLASS1* class1; //нужно к примеру 5 объектов class1...

Серилизация множества объктов в один файл в JAXB
Недавно начал разбираться с JAXB. Набросал простой пример. Есть класс Person: @XmlRootElement(name = "person") public class...

Создание динамических события от динамических элементов
Доброго времени суток! В общем беда такая, создаю по циклу, например 10 опендиалогов и 10 баттонов, нужно, чтобы по клику на каждый баттон...

Для динамических массивов А и В подсчитать количество таких k, для которых A[k]=B[k], A[k]>B[k] и A[k]<B[k]
Заданы два динамических массива A и B, каждый из массивов состоит из n целых элементов. Подсчитайте количество таких k, для которых: A=B,...

Альтернатива C++ для динамических библиотек
Это крик души! Здравствуйте. Я избрал Python моим основным языком программирования. И честно, не жалею! Я могу программировать под...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
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. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru