Содержание
- 2. Виды параллелизма. Общая память Распределенная память
- 3. Средства параллельного программирования
- 4. Треды Тредами (потоки, лекговесные процессы) называются параллельно выполняющиеся потоки управления в адресном пространстве одного процесса.
- 5. Треды и процессы обмен через общую память обмен через посылку сообщений
- 6. Различие тредов и процессов Различные треды выполняются в одном адресном пространстве. Различные процессы выполняются в разных
- 7. Средства многопоточного программирования Треды поддерживаются практически всеми современными операционными системами. Средства для многопоточного программирования встроены в
- 8. Создание и завершение тредов int pthread_create ( pthread_t * outHandle, pthread_attr_t *inAttribute, void *(*inFunction)(void *), void
- 9. Создание треда int pthread_create ( pthread_t * outHandle, pthread_attr_t *inAttribute, void *(*inFunction)(void *), void *inArg); outHandle
- 10. Завершение треда void pthread_exit(void *inReturnValue) Вызов этой функции приводит к завершению треда. Процесс-родитель получает указатель в
- 11. Обработка завершения треда на треде-родителе int pthread_join( pthread_t inHandle, void **outReturnValue); Вызов этой функции приводит к
- 12. Пример: вычисление определенного интеграла y = f(x) a b xi xi+1 Si xi-1
- 13. #include #include #include double a = 0.0, b = 1.0, h, *r; int numt, n; double
- 14. void* worker(void* addr) { int my, i; double s, p; my = *(int*)addr; s = 0.0;
- 15. main(int arc, char* argv[]) { int i; double S; pthread_t *threads; numt = atoi(argv[1]); n =
- 16. Проблема недетерминизма Программа называется недетерминированной, если при одних и тех же входных данных она может демонстрировать
- 17. a read write increment read increment write a = a + 1 a = a +
- 18. a read write increment read increment write a = a + 1 a = a +
- 19. a:=a+1 a:=a+1 a=0 a=2 Неделимой называется операция, в момент выполнения которой состояние общих переменных не может
- 20. Семафоры Семафорами называются общие переменные, которые принимают неотрицательные значение целого типа для работы с которыми предусмотрены
- 21. Поддержка семафоров в библиотеке pthreads sem_t – тип семафора sem_init(sem_t* semaphor, int flag, int value) semaphor
- 22. Кольцевой буфер front rear producer consumer
- 23. #include #include #include #include #include #define N 3 static int buf[N]; static int rear; static int
- 24. void process(int number) { sleep(number); } void * consumer (void *arg) { int i = 0;
- 25. void * producer (void *arg) { int i; i = 0; while (i != -1) {
- 26. main (int argc, char *argv[]) { pthread_t pt; pthread_t ct; init (); pthread_create (&pt, NULL, producer,
- 27. Критические секции Критической секцией называется фрагмент кода программы, который может одновременно выполнятся только одним тредом.
- 28. Пример: создание неделимой опреации 1-й тред: a = a + 1 2-й тред: a = a
- 29. 1-й тред: while(true) { while(in2); in1 = true; a = a + 1; in1 = false;
- 30. Поддержка критических секций в pthreads «Мютекс» - mutex – mutual exclusion (взаимное исключение); Объявление и инициализация:
- 31. Пример: умножение матриц C C = A * B каждый тред вычисляет свою строку матрицы
- 32. Умножение матриц: код программы #include #include #include pthread_mutex_t mut; static int N, nrow; static double *A,
- 33. void setup_matrices () { int i, j; A = malloc (N * N * sizeof (double));
- 34. void * worker (void *arg) { int i, j; while (nrow { int oldrow; pthread_mutex_lock (&mut);
- 35. for (i = 0; i { int j; double t = 0.0; for (j = 0;
- 36. main (int argc, char *argv[]) { int i, nthreads; pthread_t *threads; pthread_mutex_init(&mut, NULL); nthreads = atoi
- 38. Скачать презентацию













![main(int arc, char* argv[]) { int i; double S; pthread_t *threads; numt](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430736/slide-14.jpg)







![#include #include #include #include #include #define N 3 static int buf[N]; static](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430736/slide-22.jpg)


![main (int argc, char *argv[]) { pthread_t pt; pthread_t ct; init ();](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430736/slide-25.jpg)









![main (int argc, char *argv[]) { int i, nthreads; pthread_t *threads; pthread_mutex_init(&mut,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430736/slide-35.jpg)
чудеса Microsoft Office PowerPoint
Преддипломная практика (стажировка)
Лев Николаевич Толстой. Жизнь и литература
Как выбрать идеальный авточехол
Химическая промышленность
Тема проекта:Единый государственный экзамен (ЕГЭ)Творческое название:«Что уж ЕГЭ грядущий нам готовит?»
Р. 3. Доходность и риск
Русская живопись в I половине XIX века
Счастье
Презентация на тему Правописание суффиксов причастий (7 класс)
Презентация на тему Мастерство учителя
Кухни зарубежных стран
ОП 35-36 (27-09-2016) ОТТС (3)
Сергей Савченко
Презентация на тему Billionaire without billion
The obligation
Статистический анализ показателей национального богатства Российской Федерации
Презентация на тему Древнееврейское царство. Мудрость царя Соломона
Подросток как гражданин
ОРГАНИЗАЦИЯ РАБОТЫ УЧАЩИХСЯ НАД ИССЛЕДОВАТЕЛЬСКИМИ ПРОЕКТАМИ: ПОДГОТОВКА К ЖИЗНИ ИЛИ ЖИЗНЬ?
Modlitwa o Cud. Madre Di Tutti Le Genti wyk. Jan Paweł II
Горох
Научно-практическая конференция школьников Люберецкого муниципального района«Ломоносов среди нас»
Проектная деятельность
Искусство в моей жизни
Вебинар «Особенности активного привлечения клиентов в ИТ-отрасли» При поддержке http://smartsourcing.ru/http://smartsourcing.ru/ - презентация
Е.Н.Ковтунд.ф.н., профессор, заместитель Председателя Совета по филологии УМО по классическому университетскому образованию (МГУ
Лимфатическая система