Demo21 :线程间合作(使用二个线程共同合作绘制一个实体三角形)
2018-04-05 08:29
716 查看
package demo21; /** * <p>Title: 线程间合作</p> * <p>Description: 本实例使用二个线程共同合作绘制一个实体三角。</p> */ public class mainThread{ public static int flag = 0; int count = 10; /** *<br>方法说明:主方法 *<br>输入参数: *<br>返回类型: */ public static void main(String[] arg){ new mainThread(); } /** *<br>方法说明:构造器,启动两个子线程。 *<br>输入参数: *<br>返回类型: */ mainThread(){ thread1 t1 = new mainThread.thread1(this.count); thread2 t2 = new mainThread.thread2(this.count); //启动两线程 t1.start(); t2.start(); //让线程一首先工作。 flag = 1; } /** *<br>类说明:内部类,继承了Thread, *<br>类描述:实现了在输出每行前面的空格。 */ class thread1 extends Thread{ int count1 = 0; thread1(int i){ count1 = i; } public void run(){ while(true){ if(count1<=0) break; if(mainThread.flag==1){ for(int i=0;i<count1;i++){ System.out.print(" "); } count1--; mainThread.flag=2; } } } } /** *<br>类说明:内部类,继承了Thread, *<br>类描述:实现了在输出每行第“*”号。并提供换行。 */ class thread2 extends Thread{ int count2 = 0; thread2(int i){ count2 = i; } public void run(){ int count = 0; while(true){ if(count>=count2) break; if(mainThread.flag==2){ for(int i=0;i<(count*2+1);i++){ System.out.print("*"); } System.out.print("\n"); count++; mainThread.flag=1; } } } } }
运行结果:
相关文章推荐
- 《GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形》的正确版本及源代码
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- 使用CSS3绘制一个实心三角形
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- OpenGL学习笔记(八):进一步理解VAO、VBO和SHADER,并使用VAO、VBO和SHADER绘制一个三角形
- GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形 【转】
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 在VC中,使用OpenGL绘制一个矩形、三角形、三个点和三条直线,由直线组成新的三角形
- GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- Stage3D学习笔记(二):使用GPU绘制一个三角形
- OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 使用原生JavaScript的Canvas实现拖拽式图形绘制,支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形,不依赖任何库和插件,有演示demo
- 使用纯CSS完成一个三角形的绘制
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
- 使用ADO.NET Entity Framework的实体作为数据源Data Source(附Demo程序下载)- 系列3
- [原创]jPagerBar1.2发布-jquery分页插件(一个适合Ajax+JSON+jQuery环境使用的多功能页码栏插件)(Demo、源文件下载已更新)
- 使用pthread_cond_timedwait把一个线程作为一个定时器使用.