“售票系统售票系统”在在iphone开发中的实现开发中的实现
多线程的设计给程序员带来了很大的便利,在iphONe的开发中也想java那样可以方便的实现多线程编程。 于是,笔者在iphone的开发中实现多
线程编程,这个例子是大家熟悉的Java教程中经典的“售票系统多线程”。 下面是java版本的“售票系统多线程”代码: package demo;
public class SellTickets implements Runnable{ private int tickets=100; public void run() { int count=0; while (true) { //上
锁 synchroniz
多线程的设计给程序员带来了很大的便利,在iphONe的开发中也想java那样可以方便的实现多线程编程。
于是,笔者在iphone的开发中实现多线程编程,这个例子是大家熟悉的Java教程中经典的“售票系统多线程”。
下面是java版本的“售票系统多线程”代码:
package demo;
public class SellTickets implements Runnable{
private int tickets=100;
public void run() {
int count=0;
while (true)
{
//上锁
synchronized(this){
if (tickets>0){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
count=100-tickets;
System.out.println("当前票数是:"+tickets+"售出"+count
+"线程名:"+Thread.currentThread().getName());
tickets--;
}else{
break;
}
}
}
}
public stATIc void main(String[] args) {
SellTickets r=new SellTickets();
Thread t1=new Thread(r,"t1");
t1.start();
Thread t2=new Thread(r,"t2");
t2.start();
Thread t3=new Thread(r,"t3");
t3.start();
Thread t4=new Thread(r,"t4");
t4.start();
}
}
以上java版本的代码执行后控制台输出如下:
当前票数是:100售出0线程名:t1
当前票数是:99售出1线程名:t2
当前票数是:98售出2线程名:t3
当前票数是:97售出3线程名:t4