Содержание
- 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)
Оформление интерьера 19 века, отличительные особенности. Мебель. Декоративная бронза. Фарфор. Часы. Ювелирные изделия
Питание для спортсменов
Технологичная одежда
Готовим завтрак для бойца
Kreuzfahrten
Кто под маской? Викторина
Презентация на тему Волшебные карандаши
Угода з печаткою для дистанційників (1)
Экоцид Статья 358
Перспективы развития рынка маршрутных такси в г. Челябинске
Дипломная работа Интерьеров коттеджа:«Назад к природе!»
Открытия Михаила Васильевича Ломоносова
Potrebnost_v_trude_i_otdykhe
Комплексная технология управления рисками: проблемы и подходы к внедрению
British theatre
Викторина по русской народной сказке
legend
Методология многоуровневого анализа посткоммунистических трансформаций
Концепция проекта «Безопасный труд» (снижение уровня производственного травматизма в организациях Пермского края)
Наши предки - славяне (3 класс)
Особенности согласования документов территориального планирования с высшим исполнительным органом субъекта Российской Федерац
Особенности политической культуры населения Санкт-Петербурга: межпоколенческие разломы
Олимпийские игры
МОТОПРОБЕГ
Изменения в трудовом кодексе РФ, связанные с формированием сведений о трудовой деятельности в электронном виде
22 июня1941- 9 мая1945
Education in our life
Самые необыкновенные сооружения в мире2