Similar presentations:
Многопоточное программирование (Лекция 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. Тест
12
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<int>
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_t3
3
34. Тест
pthred_rwlock_t3
4
35. Тест
#pragma omp parallel3
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 daemondaemon.cpp -lz
3
8
39. Тест
(gdb) bt3
9
40. Тест
(gdb) thr 224
0
41. Тест
(gdb) make –j 84
1
42. Тест
strace –p 10224
2
43. Тест
lsof –p 11024
3
44. Тест
htop4
4
45. Тест
LD_PRELOAD=/usr/local/libaaa.so
4
5
46. Тест
ldd ./bin/daemon4
6
47. Тест
ldconfig -p4
7
48. Тест
ulimit -c unlimited4
8
49.
Спасибо завнимание!
Дмитрий Калугин-Балашов
[email protected]