Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
27 / 27 / 3
Регистрация: 31.05.2011
Сообщений: 199

Invoke и многопоточность

29.03.2014, 15:46. Показов 2394. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. В классе есть три списка. В эти списки я хочу параллельно читать данные из трех таблиц бд. Я создаю три потока в этом же классе, эти три потока читают данные из бд. Есть одно но: так поступать нельзя. Вопрос: как я понял, метод invoke выполняет мой поток в том потоке, где был создан список. Если это верно - я получу не многопоточность, а однопоточность? Т.е. все три потока выполнятся в том потоке, где были созданы списки??
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2014, 15:46
Ответы с готовыми решениями:

Dispatcher.Invoke и delegate invoke, исправить ошибки в коде
привет не пойму почему второй код не работает? void bw_DoWork(object sender, DoWorkEventArgs e) { NextDel nd =...

В чем разница между Invoke Action и Invoke delegate (код внутри)
Добрый день! Не могли бы подсказать, в чем принципиальная разница? this.Invoke(new Action(() => { this.Text =...

Dispatcher.Invoke: Ни одна из перегрузок метода "Invoke" не принимает "1" аргументов
Есть следующий код private void operations_PenPressed(PenPoint penPoint) { if ((penPoint.Pressure > 0)...

2
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
29.03.2014, 17:15
Invoke это синхронный вызов делегата . тобишь все происходит в одном потоке

Добавлено через 1 минуту
для многопоточности нужен метод BeginInvoke()
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
29.03.2014, 17:44
Лучший ответ Сообщение было отмечено Fraxinus как решение

Решение

Можно и Task.Factory.StartNew() применить...
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
 
namespace Fraxinus
{
    class Program
    {
        static void Main(string[] args)
        {
            myClass mc = new myClass();
 
            Task.Factory.StartNew(() => AddData(mc.list1,1));
            Task.Factory.StartNew(() => AddData(mc.list2,2));
            Task.Factory.StartNew(() => AddData(mc.list3,3));
 
            Console.ReadLine();
        }
        static void AddData(List<int> list,int count)
        {
            Console.WriteLine("Task {0} is started now!",count);
            for (int i = 0; i < 1000; i++)
            {
                list.Add(i);
                Thread.Sleep(10);
            }
            Console.WriteLine("Task {0} is completed!",count);
        }
    }
    class myClass
    {
        public List<int> list1;
        public List<int> list2;
        public List<int> list3;
 
        public myClass()
        {
            list1 = new List<int>();
            list2 = new List<int>();
            list3 = new List<int>();
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.03.2014, 17:44
Помогаю со студенческими работами здесь

Invoke
Не очень хорошо разбираюсь в этом, поэтому спрашиваю. Есть программа на WinForms. В MainForm есть такая строчка: Invoke(new...

invoke
День добрый.помогите разобраться плиз имеется 2 формы. в 1ой (назовем ее main) происходит создание нового потока и запуск в нем 2ой...

invoke
заранее спасибо! .386 .model flat, stdcall option casemap:none includelib C:\masm32\qeditor.exe ExitProcess proto: DWORD ...

Invoke с datagridview
подскажите как применить invoke непосредственно для строчки dataGridView1.DataSource = tablst.ToList(); я что то не могу разобраться...

Синтаксис ?.Invoke()
Добрый день, как можно интерпретировать этот синтаксис ? this.ObjectChanged?.Invoke() И как можно было бы эту строку записать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru