今天初步了解了多线程的一些知识..
首先,对于现在的电脑来说,操作系统通常都可以执行好几个程序,可是CPU只有一个,因此,通常采用分时的方式(分时操作系统)来"同时"处理多个进程.而"同时"却并非真正意义上的"同时",而是每个进程分别在某个时间段内占用CPU,当这个时间段结束之后,再由CPU来选择下一个进程执行.而进程又可以将进程再分的更细,即每个线程都是独立的,进程的中的主线程通知其他线程之后,由其他线程自己都执行各自的任务.好比人,我们的身体就同时有多个线程在各自独立的执行,例如:我们可以边吃饭,边看电视,同时还要呼吸,心跳等等.
java中能完成线程功能的类是java.lang.Thread
每个线程的实现都要通过新建一个Thread类的对象去调用start();方法,而这个start();方法在执行时会自动去程序中找run();方法因此,一个线程要执行的代码,就是run();方法中的代码..
为了能让这个线程不断的执行下去,通常将要执行的代码写入一个死循环中.由此也就产生了问题,如果这个线程一直在执行,那么CPU也就无法去执行其他的任务 ... 可以通过Thread类中的sleep方法暂停该进程,sleep方法中需要传入的参数以毫秒为单位(1000ms = 1s),同时,当一个线程暂停时间到了之后,也不能保证这个线程能马上执行,而要等到CPU再次选到这个线程执行的时候,这个线程才能继续进行,也就是说sleep方法能够保证这个线程至少暂停n毫秒(n为传入的参数).
基于以上的一些理解.写了一个窗体内能产生多个弹球的JFrame
球与球之间的碰撞以及效果.. 暂时还没有加入方法..