/**
* 2010-10-26
* 实现多个线程
*/
package com.thread;
public class Demo4 {
public static void main(String[] args) {
Pig pig=new Pig(10);
Bird bird=new Bird(10);
Thread tp=new Thread(pig);
Thread tb=new Thread(bird);
tp.start();
tb.start();
}
}
//最好用接口,这样还有机会用继承
class Pig implements Runnable{
int n=0;
int time=0;
public Pig(int n){
this.n=n;
}
public void run() {
while(true){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
time++;
System.out.println("正在打印"+time+"个,hello world");
if(time==n){
break;
}
}
}
}
class Bird implements Runnable{
int n=0;
int time=0;
int sum=0;
public Bird(int n){
this.n=n;
}
public void run() {
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
sum+=(++time);
System.out.println("当前结果是"+sum);
if(time==n){
System.out.println("最后结果是"+sum);
break;
}
}
}
}
分享到:
相关推荐
4. **线程同步** 当多个线程访问共享资源时,可能会出现竞态条件,导致数据不一致。Java提供了synchronized关键字来实现线程同步,确保同一时刻只有一个线程能执行特定代码块。 5. **死锁** 死锁是两个或多个线程...
总结起来,"简单的多线程示例delphi7"这个项目提供了一个基础的多线程实现,通过TThread类创建新线程,并通过重写Execute方法来定义线程任务。开发者可以通过学习这个示例,理解如何在Delphi 7中进行多线程编程,以...
Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread...本示例演示和wait和sleep、线程锁的使用。
"多线程示例.rar"是一个包含完整源码和编译好的示例程序的压缩包,目的是帮助开发者理解如何在Delphi中创建和管理多线程。以下是一些关键的知识点: 1. **TThread 类**:Delphi的`System.Classes`单元中定义了`...
本文将深入探讨C++11中的多线程特性,并通过描述中的示例来展示如何创建和管理线程。 首先,要使用C++11的多线程功能,你需要包含`<thread>`头文件。在这个头文件中,定义了一个`std::thread`类,它是创建新线程的...
4. **线程安全**:如果一个方法或数据结构在多线程环境下能正确工作,我们就称其为线程安全。线程安全可以通过设计、同步机制或使用线程安全的数据结构来实现。 在实践中,多线程编程还需要关注性能和资源消耗,...
通过上述讨论,我们可以看到,"VB 稳定多线程示例源码"提供的资源对于学习和理解VB中的多线程编程至关重要。它不仅展示了如何创建和管理线程,还可能包含了如何实现线程同步和异常处理的示例,这对于任何希望提高VB...
4. **线程同步**:由于多个线程可能访问共享资源,为了防止数据竞争和死锁,我们需要使用线程同步机制,如临界区、互斥量、信号量或事件。MFC提供了`CCriticalSection`、`CMutex`等类来帮助我们实现这些同步原语。 ...
这是一个多线程的示例工程,非常适合新手学习! 这是一个多线程的示例工程,非常适合新手学习! 这是一个多线程的示例工程,非常适合新手学习! 这是一个多线程的示例工程,非常适合新手学习! 这是一个多线程的示例...
"嗷嗷叫的老马"分享的示例可能就是利用这个组件来创建和管理线程。使用ActiveX EXE,开发者可以创建一个单独的进程,该进程在后台运行并与其他组件通信,从而实现多线程。这种方式的优点在于代码结构清晰,易于管理...
本示例将深入探讨C#中的多线程实现方法、应用场景以及常见问题。 1. **线程的创建** 在C#中,可以使用`System.Threading`命名空间中的`Thread`类来创建线程。创建新线程的基本步骤是: - 创建一个`Thread`对象...
在本示例"bcb 多线程示例 MutilThread(生产者与消费者)"中,我们将探讨 Borland C++ Builder (bcb) 平台上的线程应用,特别是生产者-消费者问题的解决方案。 生产者-消费者问题是多线程编程中的一个经典案例,它...
本示例将深入探讨如何在C#中创建和管理线程,以及它带来的优势和挑战。 一、多线程概念 多线程是指在一个进程内同时运行多个独立的执行流,每个执行流被称为一个线程。在C#中,我们可以使用`System.Threading`命名...
4. 进度条显示:可以使用GDI或MFC库中的控件来绘制和更新进度条,反映线程的执行进度。 5. 等待所有线程结束:使用WaitForMultipleObjects()函数等待所有线程完成。 在实际开发中,合理设置线程优先级有助于提高...
`threads.pbl`和`threads.pbt`文件很可能是包含了这个多线程示例的相关类库和项目文件。 首先,我们需要创建一个`Thread`对象,这可以通过调用`Create`函数来实现。然后,我们需要定义一个回调函数,这个函数将在子...
3. **C# WinForm多线程示例** - **后台任务执行**:使用`BackgroundWorker`组件,在`DoWork`事件中编写耗时操作代码。 - **UI更新**:由于跨线程更新UI不安全,需使用控件的`Invoke`或`BeginInvoke`方法确保在主线...
等线程示例学习 在计算机编程中,线程是程序执行的基本单元,它允许一个程序同时执行多个任务。在多核或多处理器系统中,线程可以充分利用硬件资源,提高程序的运行效率。"等线程示例学习"着重探讨的是如何在编程中...
通过学习和实践这些C#多线程示例,开发者能够更好地掌握如何在应用程序中有效地使用多线程,提高程序的性能和用户体验。在实际项目中,应根据任务特性和系统需求选择合适的线程管理策略,确保程序的稳定性和效率。