备注:来自小可08年的纸笔记,因为纸张快烂了,故此誊抄于此,以备不时只需,有的代码菜到几点,仅供娱乐。
package nie.test.util.thread;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class TestJProgressBar {
static long begin,end;
JProgressBar bar = new JProgressBar(JProgressBar.HORIZONTAL ,0,1000);
public TestJProgressBar() {
JFrame frame = new JFrame("progress_bar_show");
bar.setStringPainted(true); //1.设置字符串可涂改
bar.setString("0%"); //2.初始化显示
bar.setValue(0); //3.初始化的值
frame.add(bar,BorderLayout.CENTER);
frame.setBounds(400, 500, 400, 150);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Progress p1 = new Progress();
begin = System.currentTimeMillis();
/*
i=1 -> 线程:Thread_0:49.636
i=10 -> 平均5秒。
线程:Thread_7:5.124
线程:Thread_5:5.14
线程:Thread_3:5.155
线程:Thread_2:5.171
线程:Thread_9:5.171
线程:Thread_1:5.171
线程:Thread_8:5.171
线程:Thread_4:5.202
线程:Thread_6:5.202
线程:Thread_0:5.218
*/
for(int i=0;i<10;i++){
Thread t=new Thread(p1);
t.setName("Thread_"+i);
t.start();
}
}
class Progress implements Runnable{
int i=0;
@Override
public void run() {
while(i<=1000) {
try {
Thread.sleep((int)(Math.random()*100));
bar.setString(i+"‰");
if(i==1000){
end = System.currentTimeMillis();
break;
}
bar.setValue(i++);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("线程:"+Thread.currentThread().getName()+":"+(end-begin)/1000.0);
}
}
public static void main(String[] args) {
new TestJProgressBar();
}
}
多个线程同时做一件事,访问同一个成员变量。
用进度条做显示更鲜明直观哦。
分享到:
相关推荐
在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在“java多线程控制小球程序”这个项目中,我们看到一个具体的应用场景:多个小球在一个框内不断弹跳,并且这些...
在Android应用开发中,多线程断点下载是一项重要的技术,尤其对于大型文件的下载,如游戏、视频或大型应用程序。这项技术允许用户在下载过程中随时暂停,之后可以从已下载的部分继续,而不是重新开始,提高了用户...
### 使用类C语言和MPI的多线程程序 #### 概述 在并行计算领域,消息传递接口(MPI)是最广泛使用的编程模型之一。然而,由于每个MPI进程可用内存受限于所在计算节点的本地内存大小,这为大规模数据处理带来了挑战...
本文将深入探讨如何使用Java语言实现多线程的粒子群优化算法,并针对"pso_map"这一特定问题进行解析。 一、粒子群优化算法基础 1.1 粒子概念:在PSO中,每个解被看作是一个“粒子”,它在问题的解空间中移动,代表...
综上所述,基于Java多线程技术实现的异步粒子群优化算法是一种有效的优化工具。它通过提高粒子之间的独立性和种群整体的异步性,不仅加快了算法的收敛速度,还提高了搜索质量。未来的研究可以进一步探讨如何优化多...
粒子群优化算法的异步模式是基于Java多线程技术实现的,该模式可以将每个粒子的行为看作是一个独立的线程,使得粒子个体充分表现出独立性,而在种群层次上表现为异步性。这种异步模式可以克服同步模式下的不足,即...
OpenMP(Open Multi-Processing)是一个应用广泛的API,用于在共享内存系统上进行多线程编程。通过在C++、Fortran等语言中添加特定的注释,开发者可以轻松地将串行代码转化为并行代码,从而充分利用多核处理器的性能...
具体到这个毕业设计项目,开发者可能创建了一个自定义的下载管理器,该管理器利用Afinal处理网络请求,Gson解析服务器返回的信息,并使用多线程技术来提高下载速度。这样的设计不仅可以提供更好的用户体验,还能处理...
Java多线程与线程安全实践是计算机科学领域中的一个重要话题,特别是在开发高效并发应用程序时。本毕业论文设计深入探讨了如何在Java编程环境中利用多线程技术来实现基于Http协议的断点续传功能。这个项目涵盖了多个...
本项目“Android应用源码之讲多线程的操作方式”是一个很好的学习资料,适合毕业设计和论文研究。下面我们将深入探讨Android中的多线程及其操作方式。 一、主线程(UI线程) Android应用的主要运行环境是主线程,它...
在Android应用开发中,多线程断点下载是一项重要的技术,尤其对于大型文件的下载,如游戏、视频或大型应用程序。这项技术允许用户在下载过程中暂停、恢复,甚至在网络不稳定时也能继续之前未完成的下载任务。这个...
在Android应用开发中,多线程断点续传下载是一项重要的技术,特别是在处理大文件或者网络不稳定的情况下。这个"Android应用源码之AndroidDownLoad(多线程断点续传)"项目提供了一个实用的示例,非常适合毕业设计或...
本毕业论文设计主要探讨了如何在ASP.NET框架下利用多线程技术实现TCP端口扫描程序,这是一项在IT行业中非常实用的技术,特别是在网络安全、系统维护以及网络性能检测等领域。以下将详细介绍相关知识点: 1. **ASP...
总之,这个Android应用项目涵盖了多线程编程、断点续传下载、在线音乐播放等多个重要技术,对于学习Android开发的初学者或进行毕业设计的学生来说,是一个非常实用的学习资源。通过分析和实践这个项目,可以加深对...
在Android应用开发中,多线程断点下载是一项重要的技术,尤其对于大型文件的下载,如游戏、视频或应用程序更新。这个"Android应用源码之多线程断点下载"的项目提供了一个实用的示例,帮助学生进行毕业设计学习。下面...
总的来说,这个项目提供了一个很好的学习平台,涵盖了Android开发中的多线程下载、音乐播放、网络请求等多个核心知识点。通过研究源码,开发者可以加深对Android系统工作原理的理解,提高实际编程能力。无论是毕业...
该压缩包文件包含了一个Android应用的源码示例,主要涉及了两个关键功能:多线程断点续传下载和在线播放音乐。这两个功能在现代移动应用开发中极为常见,尤其是在资源密集型应用中,如音乐播放应用或者大型游戏下载...
在Android应用开发中,快速框架和多线程下载框架是两个关键的技术点,它们极大地提升了应用的性能和用户体验。此项目结合了Android平台、Afinal轻量级框架以及Gson库,为开发者提供了一个实现高效下载功能的示例。...
在C#编程中,多线程环境下的并发访问控制是一个重要的议题。为了保证线程安全,防止多个线程同时访问同一资源导致数据不一致或竞态条件,C#提供了多种同步机制,其中之一便是`lock`关键字。`lock`关键字用于创建一个...