Многопоточное программирование (Лекция 0)

Содержание

Слайд 2

Преподаватели

Дмитрий Калугин-Балашов
Руководитель группы разработки
Виктор Стародуб
Программист

Преподаватели Дмитрий Калугин-Балашов Руководитель группы разработки Виктор Стародуб Программист

Слайд 3

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 4

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 5

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 6

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 7

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 8

Лекции

Работа с памятью (вводная лекция)
Работа с сетью (2 лекции)
Работа с процессами (2

Лекции Работа с памятью (вводная лекция) Работа с сетью (2 лекции) Работа
лекции)
Работа с потоками (1 лекция)
Параллельное программирование (1 лекция)

Слайд 9

Практические занятия

После каждой лекции (и по теме лекции).
Количество баллов за каждое занятие

Практические занятия После каждой лекции (и по теме лекции). Количество баллов за каждое занятие – 10.
– 10.

Слайд 10

Домашнее задание

Проект «Маленькией nginx»
Пишем web-сервер.
Две контрольные точки – промежуточная (коллоквиум) и финальная.
В

Домашнее задание Проект «Маленькией nginx» Пишем web-сервер. Две контрольные точки – промежуточная
промежуточную сдаем рабочий веб-сервер без многопоточности.
К финальной сдаем многопоточность.
По 15 баллов за этап.

Слайд 11

Баллы

«5» - 100
«4» - 80
«3» - 60

Баллы «5» - 100 «4» - 80 «3» - 60

Слайд 13

Тест
std::list

Тест std::list

Слайд 14

Тест
std::map

Тест std::map

Слайд 15

Тест
std::forward_list

Тест std::forward_list

Слайд 16

Тест
std::unordered_map

Тест std::unordered_map

Слайд 17

Тест
boost::circular_buffer

Тест boost::circular_buffer

Слайд 18

Тест
std::auto_ptr

Тест std::auto_ptr

Слайд 19

Тест
std::unique_ptr

Тест std::unique_ptr

Слайд 20

Тест
std::shared_ptr

Тест std::shared_ptr

Слайд 21

Тест
std::weak_ptr

Тест std::weak_ptr

Слайд 22

Тест
malloc(1024)

Тест malloc(1024)

Слайд 23

Тест
calloc(128, 16)

Тест calloc(128, 16)

Слайд 24

Тест
realloc(pointer, 2048)

Тест realloc(pointer, 2048)

Слайд 25

Тест
free(ptr)

Тест free(ptr)

Слайд 26

Тест
fork()

Тест fork()

Слайд 27

Тест
wait(&status)

Тест wait(&status)

Слайд 28

Тест
waitpid(-1, &status, 0)

Тест waitpid(-1, &status, 0)

Слайд 29

Тест
kill(pid, SIGUSR1)

Тест kill(pid, SIGUSR1)

Слайд 30

Тест
shmget(key, SHMSZ, IPC_CREAT | 666)

Тест shmget(key, SHMSZ, IPC_CREAT | 666)

Слайд 31

Тест
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)

Тест socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)

Слайд 32

Тест
pthread_create(&thread, NULL, thread_func, NULL)

Тест pthread_create(&thread, NULL, thread_func, NULL)

Слайд 33

Тест
pthred_mutex_t

Тест pthred_mutex_t

Слайд 34

Тест
pthred_rwlock_t

Тест pthred_rwlock_t

Слайд 35

Тест
#pragma omp parallel

Тест #pragma omp parallel

Слайд 36

Тест
tbb::parallel_for(1, 10, 1, print)

Тест tbb::parallel_for (1, 10, 1, print)

Слайд 37

Тест
tbb::parallel_for(1, 10, 1, print)

Тест tbb::parallel_for (1, 10, 1, print)

Слайд 38

Тест
g++ -o daemon daemon.cpp -lz

Тест g++ -o daemon daemon.cpp -lz

Слайд 39

Тест
(gdb) bt

Тест (gdb) bt

Слайд 40

Тест
(gdb) thr 22

Тест (gdb) thr 22

Слайд 41

Тест
(gdb) make –j 8

Тест (gdb) make –j 8

Слайд 42

Тест
strace –p 1022

Тест strace –p 1022

Слайд 43

Тест
lsof –p 1102

Тест lsof –p 1102

Слайд 44

Тест
htop

Тест htop

Слайд 45

Тест
LD_PRELOAD=/usr/local/libaaa.so

Тест LD_PRELOAD=/usr/local/libaaa.so

Слайд 46

Тест
ldd ./bin/daemon

Тест ldd ./bin/daemon

Слайд 47

Тест
ldconfig -p

Тест ldconfig -p

Слайд 48

Тест
ulimit -c unlimited

Тест ulimit -c unlimited