整理基础知识框架内容
列举ASP.NET 页面之间传递值的几种方式:http://www.cnblogs.com/zhangkai2237/archive/2012/05/06/2486462.html
抽象类和接口,接口等于是全部抽象,所以里面不能包涵有方法体,即不能有属性,方法,索引器,事件,并且全部是公开的。而抽象类是部分抽象,即可以定义一些方法体,只要存在抽象类即可,可以有私有的东西;
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 最后接口可以多继承,抽象类只能单继承。
启动一个线程用run()还是start()?
| 肯定是用start()方法,因为start方法会为线程分配线程启动所需的系统资源。如果你实现了Runnable接口或继承了Thread类后,直接使用run方法,这是在当线程类为普通类使用,并不会启动线程。 |
1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程体,它包含了要执行的这个线程的内容, Run方法运行结束, 此线程终止。然后CPU再调度其它线程。
2.run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码; 程序中只有主线程——这一个线程, 其程序执行路径还是只有一条, 这样就没有达到写线程的目的。
记住:多线程就是分时利用CPU,宏观上让所有线程一起执行 ,也叫并发
http://blog.csdn.net/xuxurui007/article/details/7685076
C#线程的启动: http://www.cnblogs.com/supperwu/archive/2012/05/26/2519341.html
线程sleep 和wait 的区别
sleep指线程被调用时,占着CPU不工作,形象地说明为“占着CPU睡觉”,此时,系统的CPU部分资源被占用,其他线程无法进入,会增加时间限制。
wait使当前线程暂时放弃对象的使用权进行等待,形象地说明为“等待使用CPU”,此时线程不占用任何资源,不增加时间限制,
另外,线程执行wa使当前线程暂时放弃对象的使用权进行等待it方法时,需要另一个线程调用notify进行唤醒。
而sleep只是暂时休眠一定时间,时间到了之后,自动恢复运行,不需另外的线程唤醒。
sleep(100L)意思为:占用CPU,线程休眠100毫秒
wait(100L)意思为:不占用CPU,线程等待100毫秒
浙公网安备 33010602011771号