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;
}
* <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;
}
相关文章推荐
- Asp.net常用的三十多个代码
- Asp.net常用的三十多个代码(非常实用)
- Asp.net常用的三十多个代码(非常实用)
- Asp.net常用的三十多个代码(1)
- Asp.net常用的三十多个代码(非常实用)
- ASP.NET开发51种常用代码
- [转]ASP.NET程序中常用的三十三种代码
- ASP.NET中常用功能代码总结(6)——XML文件操作篇
- ASP.NET 数据绑定常用代码
- ASP.NET 数据绑定常用代码
- Asp.net中常用的三十三种代码(二)
- ASP.NET常用代码
- ASP.NET程序中常用编程代码
- ASP.NET程序中常用代码2
- ASP.NET程序中常用的三十三种代码
- ASP.NET 程序中常用的三十三种代码(二)
- ASP.NET程序中常用的三十三种代码
- ASP.NET程序中常用代码汇总
- ASP.NET程序中常用的三十三种代码
- ASP.NET 程序中常用的三十三种代码