Многопоточное программирование (Лекция 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

Слайд 12

Тест

Тест

Слайд 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