Содержание
- 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)
Современные проблемы науки и образования. Лекция 1
АКР по Мировой художественной культуре
Белорусский государственный университет
Вакансии Энкорп в Твери
Аффилированные лица
Опыт внедрения в образовательную практику модели индивидуального прогресса и управление по результатам мониторинга.
Глобус — модель Земли
Презентация на тему Франция
Творчество Огюста Родена (1840-1917)
Risunok
Зевс. Бог неба, грома и молний, ведающий всем миром
"Своя игра" 3-4 класс
Презентация на тему почему идут дожди и дует ветер
ИСПОЛЬЗОВАНИЕ ИОС ИКТ В УЧЕБНОЙ И ВНЕКЛАССНОЙ РАБОТЕ В МОУ-СОШ №9 г. КЛИНЦЫ БРЯНСКОЙ ОБЛАСТИ
Email:
Due Diligence Проверка должной добросовестности
Работа с графическими объектами в текстовом редакторе
Оптические иллюзии
Выполнила воспитатель высшей квалификационной категории Владимирова Ирина Николаевна. Санкт-Петербург 2010 г.
Methods of teaching English
Визитная карточка команды Знайки
Практическая реализация методов ожижения. Конструкции ожижителей I
«ОПТИМИЗАЦИЯ ОБУЧЕНИЯ ТЕХНИКЕ КАТАНИЯ НА ГОРНЫХ ЛЫЖАХ И СНОУБОРДЕ. АТТЕСТАЦИЯ ИНСТРУКТОРОВ» Всероссийская ассоциация горнолыжн
Презентация на тему Война с Японией
OLIpure Проблема
Жеке касыпкерлык
Игра №197
Презентация на тему Правильная осанка