Многопоточное программирование
Преподаватели
Лекции
Лекции
Лекции
Лекции
Лекции
Лекции
Практические занятия
Домашнее задание
Баллы
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
Тест
265.53K
Category: programmingprogramming

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

1. Многопоточное программирование

Лекция №0
Многопоточное
программирование
Дмитрий Калугин-Балашов

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

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

3. Лекции

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

4. Лекции

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

5. Лекции

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

6. Лекции

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

7. Лекции

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

8. Лекции

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

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

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

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

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

11. Баллы

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

12. Тест

1
2

13. Тест

std::list<int>
1
3

14. Тест

std::map<int, int>
1
4

15. Тест

std::forward_list<int>
1
5

16. Тест

std::unordered_map<int,
int>
1
6

17. Тест

boost::circular_buffer<i
nt>
1
7

18. Тест

std::auto_ptr<Class>
1
8

19. Тест

std::unique_ptr<Class>
1
9

20. Тест

std::shared_ptr<Class>
2
0

21. Тест

std::weak_ptr<Class>
2
1

22. Тест

malloc(1024)
2
2

23. Тест

calloc(128, 16)
2
3

24. Тест

realloc(pointer, 2048)
2
4

25. Тест

free(ptr)
2
5

26. Тест

fork()
2
6

27. Тест

wait(&status)
2
7

28. Тест

waitpid(-1, &status, 0)
2
8

29. Тест

kill(pid, SIGUSR1)
2
9

30. Тест

shmget(key, SHMSZ,
IPC_CREAT | 666)
3
0

31. Тест

socket(AF_INET,
SOCK_STREAM,
IPPROTO_TCP)
3
1

32. Тест

pthread_create(&thread
, NULL, thread_func,
NULL)
3
2

33. Тест

pthred_mutex_t
3
3

34. Тест

pthred_rwlock_t
3
4

35. Тест

#pragma omp parallel
3
5

36. Тест

tbb::parallel_for<size_t
>(1, 10, 1, print)
3
6

37. Тест

tbb::parallel_for<size_t
>(1, 10, 1, print)
3
7

38. Тест

g++ -o daemon
daemon.cpp -lz
3
8

39. Тест

(gdb) bt
3
9

40. Тест

(gdb) thr 22
4
0

41. Тест

(gdb) make –j 8
4
1

42. Тест

strace –p 1022
4
2

43. Тест

lsof –p 1102
4
3

44. Тест

htop
4
4

45. Тест

LD_PRELOAD=/usr/local/libaaa.
so
4
5

46. Тест

ldd ./bin/daemon
4
6

47. Тест

ldconfig -p
4
7

48. Тест

ulimit -c unlimited
4
8

49.

Спасибо за
внимание!
Дмитрий Калугин-Балашов
[email protected]
English     Русский Rules