并发编程重点:
1、请写一个包含10个线程的程序,主线程必须等待每一个子线程执行完成之后才结束执行,每一个子线程执行的时候都需要打印当前线程名、当前活跃线程数量;
2、请写一个包含10个线程的程序,并给每一个子线程都创建名为"name"的线程私有变量,变量值为“james”;
3、请使用协程写一个消费者生产者模型;
协程:单线程下,无法利用多核,可以是一个程序开多个进程,每个进程开启多个线程,每隔线程开启协程;
协程指的是单个线程,因而一旦协程出现阻塞,将会阻塞整个线程。
4、写一个程序,包含十个线程,子线程必须等待主线程sleep 10秒钟之后才执行,并打印当前时间;
5、写一个程序,包含十个线程,同时只能有五个子线程并行执行;
6、写一个程序 ,包含一个名为hello的函数,函数的功能是打印字符串“Hello, World!”,该函数必须在程序执行30秒之后才开始执行(不能使用time.sleep());
7、写一个程序,利用queue实现进程间通信;
8、写一个程序,利用pipe实现进程间通信;
9、使用selectors模块创建一个处理客户端消息的服务器程序;
10、使用socketserver创建服务器程序时,如果使用fork或者线程服务器,一个潜在的问题是,恶意的程序可能会发送大量的请求导致服务器崩溃,请写一个程序,避免此类问题;
11、请使用asyncio实现一个socket服务器端程序;
12、写一个程序,使用socketserver模块,实现一个支持同时处理多个客户端请求的服务器,要求每次启动一个新线程处理客户端请求;
数据库重点:
修改表结构的语法
1、创建一个表student,包含ID(学生学号),sname(学生姓名),gender(性别),credit(信用卡号),四个字段,要求:ID是主键,且值自动递增,sname是可变长字符类型,gender是枚举类型, credit是可变长字符类型;
2、在上面的student表中增加一个名为class_id的外键,外键引用class表的cid字段;
3、向该表新增一条数据,ID为1,学生姓名为alex,性别女,修改ID为1的学生姓名为wupeiqi,删除该数据;
4、查询student表中,每个班级的学生数;
5、修改credit字段为unique属性;
6、请使用命令在你本地数据库中增加一个用户,并给该用户授予创建表的权限;
7、请使用pymsql模块连接你本地数据库,并向student表中插入一条数据;
8、请使用mysqldump命令备份student表;
9、创建一张名为student_insert_log的表,要求每次插入一条新数据到student表时,都向student_insert_log表中插入一条记录,记录student_id, insert_time;