需求: 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票。两种方式实现A:继承Thread类 B:实现Runnable接1.首先我们利用方式A去实现: 1 package cn.itcast_06; 2 3 public class SellTi....
分类:
移动开发 时间:
2015-05-17 09:16:25
阅读次数:
160
线程用Thread类来创建, 通过ThreadStart委托来指明方法从哪里开始运行。ThreadStart的声明如下: public delegate void ThreadStart(); 调用Start方法后,线程开始运行,直到它所调用的方法返回后结束。class ThreadTest ...
分类:
编程语言 时间:
2015-05-17 00:42:13
阅读次数:
213
(1)sleep和yield都是Thread类的静态方法,都会使当前处于运行状态的线程放弃CPU,但两者的区别在于:
sleep给其它线程运行的机会,但不考虑其它线程的优先级;但yield只会让位给相同或更高优先级的线程;
当线程执行了sleep方法后,将转到阻塞状态,而执行了yield方法之后,则转到就绪状态;
sleep方法有可能抛出异常,而yield则没有;
在一般情况下,我们更建议...
分类:
其他好文 时间:
2015-05-16 23:26:24
阅读次数:
388
1 package cn.itcast_02; 2 3 /* 4 * 该类要重写run()方法,为什么呢? 5 * 不是类中的所有代码都需要被线程执行的。 6 * 而这个时候,为了区分哪些代码能够被线程执行,java提供了Thread类中的run()用来包含那些被线程执行的代码。 7 *...
分类:
移动开发 时间:
2015-05-15 22:36:51
阅读次数:
299
创建线程的两种方式继承Thread类
定义一个类继承Thread类
子类中重写Thread类中的run方法
创建Thread子类的对象,就是创建了线程对象
调用线程对象的start方法,启动线程,会自动调用run方法
public class TestThread extends Thread { public static void main(String[] args) {...
分类:
编程语言 时间:
2015-05-14 18:48:33
阅读次数:
104
JAVA中创建线程的两种方式:继承Thread或实现Runnable接口。
1 继承Thread类,重写run方法:
/**
* 实现线程的第一种方式 :继承Thread
* 实现数据共享需要设置属性为静态
* @author qhyuan1992
*
*/
class MyThread extends Thread{
private int count;// static
pu...
分类:
编程语言 时间:
2015-05-14 18:41:37
阅读次数:
116
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。 Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask...
分类:
编程语言 时间:
2015-05-13 21:42:50
阅读次数:
190
IDE:Visual Studio 2008本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法2. Thread类3.线程池4.线程同步基础5.死锁6.线程同步的7种方法7.如何在线程中访问GUI组件一 线程的概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候...
分类:
其他好文 时间:
2015-05-13 21:10:59
阅读次数:
117
如前所述,通常你希望主线程最后结束。在前面的例子中,这点是通过在main()中调用sleep()来实现的,经过足够长时间的延迟以确保所有子线程都先于主线程结束。然而,这不是一个令人满意的解决方法,它也带来一个大问题:一个线程如何知道另一线程已经结束?幸运的是,Thread类提供了回答此问题的方法。有...
分类:
编程语言 时间:
2015-05-13 00:49:56
阅读次数:
170
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.St...