c#面试点
委托和事件的区别:委托是一个类型,事件是委托这个类型的实例,委托在类的外部也可以访问,这样是不安全的,而事件只能在内部访问。
开发中避免死锁:
1.sql操作表的顺序一定尽量一致,
2.把查询sql后添加with nolock(不建议这种,会读取脏数据)
3.(链接非常多引起的死锁(join))使用临时表(让一个原始表跟临时表进行join查询->临时表->原始表2join查询->临时表
4.分库:水平分库,垂直分库。
5.数据库集群,读写分离
什么时候不能用线程池:
1.能用就用,处理顺序确定的时候不能用
2.想手动关闭线程不能用
3.对优先级处理的时候不能用
4.如果执行线程时间特别长不能用(适合大量小运算)
在开发程序使用socket的时候,前两个尽量不要用
cmd->netstat -a -n 可以查看当前计算机被占用的端口