您的位置:首页 > 编程语言 > ASP

Asp.net常用的三十多个代码(2)

2013-08-21 14:48 176 查看
/**
* <p>
* Title: 线程间合作
* </p>
* <p>
* Description: 本实例使用二个线程共同合作绘制一个实体三角。
* </p>
* <p>
* Filename: ITCDemo.java
* </p>
*/
public class ITCDemo {
private int flag = 0; // 两个线程都不工作
int count = 20;

/**
* <br>
* 方法说明:主方法 <br>
* 输入参数: <br>
* 返回类型:
*/
public static void main(String[] arg) {
new ITCDemo();
}

/**
* <br>
* 方法说明:构造器,启动两个子线程。 <br>
* 输入参数: <br>
* 返回类型:
*/

public ITCDemo() {
Thread1 t1 = new ITCDemo.Thread1();
Thread2 t2 = new ITCDemo.Thread2();

// 启动两线程
t1.start();
t2.start();
// 让线程一首先工作。
flag = 1;
}

/**
* <br>
* 类说明:内部类,继承了Thread, <br>
* 类描述:实现了在输出每行前面的空格。
*/

class Thread1 extends Thread {
int count1 = count; // 20 个空格

public void run() {

while (true) {
if (count1 <= 0)
break;
if (flag == 1) {
for (int i = 0; i < count1; i++) {
System.out.print(" ");
}
count1--;
flag = 2;
}
}
}
}

/**
* <br>
* 类说明:内部类,继承了Thread, <br>
* 类描述:实现了在输出每行第“*”号。并提供换行。
*/
class Thread2 extends Thread {
int count2 = 0;

public void run() {
while (true) {
if (count2 >= count)
break;
if (flag == 2) {
for (int i = 0; i < (count2 * 2 + 1); i++) {
System.out.print("*");
}
System.out.print("\n");
count2++;
flag = 1;
}
}
}
}
}

// 方法 2 :
class Flag {
public static int flag = 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: