Разделы презентаций


Лекция № 1 2 TASK Москва, 2019

Синхронизация static int x=0; static void Main(string[] args) { for (int i = 0; i < 5; i++) {

Слайды и текст этой презентации

Слайд 1Лекция №12 TASK
Москва, 2019

Лекция №12 TASK Москва, 2019

Слайд 2Синхронизация
static int x=0;
static void Main(string[] args)

{
for (int i = 0; i

< 5; i++)
{
Thread myThread = new Thread(Count);
myThread.Name = "Поток " + i.ToString();
myThread.Start();
}

Console.ReadLine();
}
public static void Count()
{
x = 1;
for (int i = 1; i < 9; i++)
{
Console.WriteLine("{0}: {1}", Thread.CurrentThread.Name, x);
x++;
Thread.Sleep(100);
}
}

Мы предполагаем, что метод выведет все значения x от 1 до 8 и так для каждого потока

Синхронизация static int x=0;  static void Main(string[] args)  {    for (int i

Слайд 3Синхронизация

Lock - это ключевое слово C #; он предотвращает

выполнение потоком того же блока кода, что и другой поток

выполнения. Такой блок кода называется заблокированным кодом. Поэтому, если поток пытается ввести заблокированный код, он
будет ждать, пока объект не будет выпущен.
Для блокировки с ключевым словом lock используется объект-заглушка, в данном случае это переменная locker.
public static void Count()
{
lock (locker)
{
x = 1;
for (int i = 1; i < 9; i++)
{
Console.WriteLine("{0}: {1}", Thread.CurrentThread.Name, x);
x++;
Thread.Sleep(100);
}
}
}
Синхронизация Lock - это ключевое слово C #; он предотвращает выполнение потоком того же блока кода, что

Слайд 4Dead lock
Dead Lock
В многопоточной среде может возникнуть мертвая блокировка;

приложение зависает, потому что два или более
Потока ждут друг друга

для завершения. Обычно это происходит, когда общий ресурс заблокирован одним
поток и другой поток ожидает доступа к нему.
Вот как приложение зависло.
1. Tsk1 получает блокировку «thislockA».
2. Tsk2 получает блокировку «thislockB».
3. Tsk1 пытается получить блокировку «thislockB», но она уже удерживается Tsk2 и, таким образом,
Tsk1 блокируется, пока «thislockB» не будет выпущен.
4. Tsk2 пытается получить блокировку «thislockA», но она удерживается Tsk1 и, таким образом, Tsk2.
блокирует, пока "thislockA" не будет выпущен.
На этом этапе оба потока заблокированы и никогда не завершатся. Следовательно, приложение зависло.
Чтобы предотвратить зависание приложения, важно осторожно использовать оператор блокировки
Dead lock Dead LockВ многопоточной среде может возникнуть мертвая блокировка; приложение зависает, потому что два или болееПотока

Слайд 5Пользовательский интерфейс и потоки
Поток пользовательского интерфейса (пользовательского интерфейса) управляет жизненным

циклом элементов управления пользовательского интерфейса (кнопок, текстового поля и т.д.).
обычно

используется для обработки пользовательского ввода и реагирования на пользовательские события.
Пользовательский интерфейс и потокиПоток пользовательского интерфейса (пользовательского интерфейса) управляет жизненным циклом элементов управления пользовательского интерфейса (кнопок, текстового

Слайд 6Пользовательский интерфейс и потоки
Поток пользовательского интерфейса (пользовательского интерфейса) управляет жизненным

циклом элементов управления пользовательского интерфейса (кнопок, текстового поля и т.д.).
обычно

используется для обработки пользовательского ввода и реагирования на пользовательские события.
Пользовательский интерфейс и потокиПоток пользовательского интерфейса (пользовательского интерфейса) управляет жизненным циклом элементов управления пользовательского интерфейса (кнопок, текстового

Слайд 7Common language Runtime

Common language Runtime

Слайд 10MPI (С++, С)

OpenMP (многоядерное программирование), поддерживается на С++

Cuda (Nvidea графический

ускоритель)

SIMD (Single Instruction Multiply Data)
SISD (Single Instruction Single Data)
MIMD

(Multiply Instruction Multiply Data)

MPI (С++, С)OpenMP (многоядерное программирование), поддерживается на С++Cuda (Nvidea графический ускоритель) SIMD (Single Instruction Multiply Data)SISD (Single

Слайд 11MQTT
Протокол передачи и получение данных (IBM)
Используется в интернете вещей.



MQTTПротокол передачи и получение данных (IBM)Используется в интернете вещей.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика