一点关于线程和摇奖机
2013-07-21 11:01
120 查看
一点关于线程和摇奖机
怎么说呢。第一呢。还是说一下什么是进程吧。进程呢就是一个正在执行的实例。它包含着一个运行程序需要的所有资源,进程之间是相互独立的,一个进程是没办法直接访问另外一个进程的数据的。然后每个进程中都至少有一个线程。线程就是cpu调用的最小单位。他们之间是互相隔离,互不影响的。创建一个一个线程比创建一个进程快得多。其间的切换亦是如此 。另外呢,线程之间是平等的。没有父子关系的。每个线程都有自己的唯一编号。
那么现在有一个需要,就是写一个摇奖机的小程序。要求界面上有两个按钮,一个是开始按钮,一个是停止按钮。一点开始按钮,界面上显示随机的五位数且数字快速的滚动。一点停止按钮数字就停止滚动。如果只是简单的说得到一个五位数的随机数来看是否中奖什么的话那么就完全用不着线程了。写个随机数也就完全搞定。只是这里要求有五个数字。不停的滚动。他们是彼此不影响的。那么这个就得用到线程了。
如下图。那么就先声明一个Label的集合和一个Thread的集合。括号。这两个集合写在了第二个图片上。并且初始化一下Label一下。将其加入到控件集合和声明的Label的集合中。
然后。括号。那两个集合的代码在下面这幅图里。接着就是点击开始按钮的时候,我们根据Label的数量创建线程。有几个Labe就创建几个线程。注意一下,启动执行一个带参数的方法,使用new ParameterizedThreadStart()。思路就是产生五个0到9之间的随机数,将其赋值给Label的内容。需要注意的是随机数是声明的for循环外面。因为一个种子的问题。具体为神马,小杜同学也是不太清楚的,大概就是Random后面括号里是有一个种子的,写在for循环里面的话,种子的相同的概率会很大。或者是写在for循环里面但是,在Random后将i写到括号里,每次传进来的i每次总是不同的,种子也就不同了。如果有哪位大神能解释一下,表示各种欢迎以及感谢。还有每次都要让线程休息一小会。让他自己有时间做点别的事情。
下面的就是当点击停止按钮时,让线程终止。
那么这个小程序就算是成功了。点开始时他会一直滚动。停止时便会停止下来。
怎么说呢。第一呢。还是说一下什么是进程吧。进程呢就是一个正在执行的实例。它包含着一个运行程序需要的所有资源,进程之间是相互独立的,一个进程是没办法直接访问另外一个进程的数据的。然后每个进程中都至少有一个线程。线程就是cpu调用的最小单位。他们之间是互相隔离,互不影响的。创建一个一个线程比创建一个进程快得多。其间的切换亦是如此 。另外呢,线程之间是平等的。没有父子关系的。每个线程都有自己的唯一编号。
那么现在有一个需要,就是写一个摇奖机的小程序。要求界面上有两个按钮,一个是开始按钮,一个是停止按钮。一点开始按钮,界面上显示随机的五位数且数字快速的滚动。一点停止按钮数字就停止滚动。如果只是简单的说得到一个五位数的随机数来看是否中奖什么的话那么就完全用不着线程了。写个随机数也就完全搞定。只是这里要求有五个数字。不停的滚动。他们是彼此不影响的。那么这个就得用到线程了。
如下图。那么就先声明一个Label的集合和一个Thread的集合。括号。这两个集合写在了第二个图片上。并且初始化一下Label一下。将其加入到控件集合和声明的Label的集合中。
然后。括号。那两个集合的代码在下面这幅图里。接着就是点击开始按钮的时候,我们根据Label的数量创建线程。有几个Labe就创建几个线程。注意一下,启动执行一个带参数的方法,使用new ParameterizedThreadStart()。思路就是产生五个0到9之间的随机数,将其赋值给Label的内容。需要注意的是随机数是声明的for循环外面。因为一个种子的问题。具体为神马,小杜同学也是不太清楚的,大概就是Random后面括号里是有一个种子的,写在for循环里面的话,种子的相同的概率会很大。或者是写在for循环里面但是,在Random后将i写到括号里,每次传进来的i每次总是不同的,种子也就不同了。如果有哪位大神能解释一下,表示各种欢迎以及感谢。还有每次都要让线程休息一小会。让他自己有时间做点别的事情。
下面的就是当点击停止按钮时,让线程终止。
那么这个小程序就算是成功了。点开始时他会一直滚动。停止时便会停止下来。
相关文章推荐
- 关于java中多线程的问题的一点思考(什么情况下需要考虑到线程,以及线程安全的问题?)
- 关于线程的一点总结
- 关于线程的一点补充
- 关于进程和线程的一点小知识~
- 关于进程和线程的一点理解
- 关于线程的一点体会
- 关于多端开发中遇到的一点线程问题
- 【持续更新】关于线程的一点小结
- 关于线程的一点补充
- 关于线程的一点心得
- 关于java中的线程和线程池的一点总结
- 关于参加东创杯的一点感悟
- 关于线程创建的问题
- Android Studio 中关于debug使用的一点感悟
- 关于Android6.0蓝牙Ble搜索的demo和一点心得
- 关于ios使用线程导致程序不规律的闪退问题解决
- 关于strace的一点东西
- 关于Toolbar 的一点问题
- 关于javabean的数据库连接 和分页 代码 效率不是最高的 ,能给初学的人一点帮助
- 关于treap启发式合并的一点脑洞(以bzoj2809为例)