`
fxy701
  • 浏览: 4202 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

线程的实例

阅读更多
package com.apach.jb;

public class threadDemo extends Thread {
int flag;
public threadDemo(String name,int f){
  super(name);
  this.flag=f;
  }
public  void run(){
     char ch;
  System.out.println();
  System.out.print(getName()+" start: ");
  synchronized(this){
  if(flag==0){
  
   for(ch='a';ch<='z';ch++)
    System.out.print(ch+"  ");
  }
 
  else
   if(flag==1){
    for(ch='A';ch<='Z';ch++)
     System.out.print(ch+"  ");
    }
    System.out.print(getName()+" end!");
  }
}

    public static void main (String[] args) {
     threadDemo t1= new threadDemo("线程1",1);
     threadDemo t2= new threadDemo("线程2",0);
     t1.start();
     t2.start();
     System.out.println("active: "+t1.activeCount());
     }
    }
//我想让这个程序按同步机制对象t1,t2分别输出字母的大小写。当t1的进程执行完后,在执行t2的进程。但是不行

0
0
分享到:
评论
1 楼 神之小丑 2011-09-15  
你的锁是this,也就是对t1 来说 就是t1,对t2来说就是t2,你这属于是多实例多线程,这两个没有资源竞争。
最简单的方法 就是在你的 这个类里 申明一个 static 的对象,以这个对象为锁,
例如 static Object obj=new Object();然后 在下面锁的时候 锁obj,synchronized(obj)
这样 就是你说的 先完成其中一个,然后再完成另一个

相关推荐

    C# 多线程实例多线程实例多线程实例

    本文将深入探讨C#中的多线程实例,以帮助开发者理解如何有效地利用多核处理器资源,提高程序的执行效率。 多线程允许一个应用程序同时执行多个任务,每个任务都在一个独立的线程上运行。C#中,我们可以通过System....

    .NET多线程实例

    下面将详细讨论这个.NET 2.0多线程实例所涵盖的知识点。 首先,我们来看"控制台和WinForm的并行访问"。在.NET 2.0中,你可以使用System.Threading命名空间下的Thread类来创建和管理线程。在控制台应用中,多线程...

    excel vba 多线程 实例

    excel vba 多线程 实例 excel vba 多线程 实例

    java线程实例 各种小Demo

    Java线程是多任务编程的重要概念,它允许程序同时执行多个独立的任务,从而...在"线程池.rar"和"线程实例"这两个文件中,你可以找到关于这些概念的具体示例代码,通过学习和实践,可以深入理解Java线程的运用和管理。

    简单多线程实例简单多线程实例简单多线程实例

    本文将深入探讨“简单多线程实例”,旨在帮助你理解并掌握如何在实际项目中运用多线程。 多线程是指在一个程序内同时运行多个线程,每个线程都独立地执行自己的任务。在Java、Python、C++等编程语言中,都有内置的...

    C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)

    在多线程实例中,可能有如下代码: ```csharp Mutex mutex = new Mutex(); void MyThreadMethod() { mutex.WaitOne(); // 获取锁 // 访问共享资源 mutex.ReleaseMutex(); // 释放锁 } ``` 4. **线程状态...

    VB 多线程实例 ThreadPro

    在标题"VB 多线程实例 ThreadPro"中,"ThreadPro"可能是一个示例项目或者库,专门用于演示和实践VB中的多线程应用。描述中提到,这是一个旧项目,但仍然有价值,因为重新开发可能成本过高。 多线程在VB中主要通过两...

    C#多线程实例软件开发

    本文将深入探讨“C#多线程实例软件开发”这一主题,结合提供的源码文件MonitorSample.cs、lock.cs和ThreadTest.cs,来讲解C#中多线程的核心概念、使用方法以及如何在实际项目中应用。 首先,我们需要理解什么是线程...

    多线程实例-摇奖机源码

    "多线程实例-摇奖机源码"是一个很好的学习资源,适合初学者理解并实践多线程的控制。 首先,让我们了解一下多线程的基本概念。在单线程程序中,所有任务都按照顺序依次执行。而在多线程环境中,多个线程可以并发...

    C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例),可直接运行

    本资源包含六个C#.NET多线程的实例,涵盖了多线程的基本使用到更高级的概念,如线程互斥。以下是这些实例可能涉及的关键知识点: 1. **线程创建**:C#中创建线程主要有两种方式,一是通过`System.Threading.Thread`...

    C#.NET多线程实例代码教程

    本教程" C#.NET多线程实例代码教程 "是一个深入实践的资源,旨在帮助开发者理解并掌握C#中的多线程编程。 一、多线程基础 多线程是现代软件开发中的重要概念,它允许程序同时执行多个不同的任务。在C#.NET中,可以...

    多线程实例(MFC)VS2010版本

    4. **DECLARE_DYNCREATE宏**:为了让其他对象能够动态创建线程类的实例,需要在类声明中包含这个宏。 5. **AfxBeginThread()函数**:这是MFC中启动新线程的主要方法。它接受一个指向线程函数的指针和一个参数,创建...

    MFC 多线程实例.rar

    标题中的"MFC 多线程实例"指的是使用MFC实现多线程的代码示例。这个实例可能是为了演示如何在MFC应用程序中创建和管理线程,以及如何使用临界区同步对象来解决多线程间的竞态条件问题。临界区是一种同步原语,它确保...

    vb 多线程 实例(thread 类创建)

    本实例将详细讲解如何利用Thread类来创建和管理线程。 首先,理解线程的基本概念至关重要。线程是程序执行的最小单元,每个线程都拥有自己的内存空间,可以独立执行代码。在VB中,多线程通常用于执行耗时操作,如...

    Java线程实例

    Java线程实例通常包括生产者消费者模型、哲学家就餐问题、银行家算法等经典案例,这些实例有助于理解线程的同步、协作和资源管理。 总结来说,Java线程是Java编程中不可或缺的一部分,理解和掌握线程的创建、同步、...

    VB 多线程实例

    实例化Thread对象后,调用`Start()`方法启动线程。 - **使用ThreadPool**:线程池是一种线程复用机制,可以更有效地管理线程。通过`ThreadPool.QueueUserWorkItem()`方法提交任务,系统会自动从线程池中获取线程...

    Delphi 多线程实例

    本实例将深入探讨如何使用 Delphi 的 `TThread` 类来创建和管理线程,并将子线程的结果安全地同步到主界面。 首先,了解线程的基本概念是至关重要的。线程是程序中的执行单元,每个线程都有自己的堆栈和程序计数器...

    JAVA多线程实例 可直接下载

    利用JAVA编写的多线程运行实例 压缩文件,可直接运行 利用JAVA编写的多线程运行实例 压缩文件,可直接运行 利用JAVA编写的多线程运行实例 压缩文件,可直接运行 利用JAVA编写的多线程运行实例 压缩文件,可直接运行 ...

    delphi线程简单实例

    总结来说,通过这个简单的Delphi线程实例,我们了解了如何创建自定义线程类,定义线程执行的逻辑,并在主程序中启动和管理线程。在实际开发中,可以依据需求扩展线程功能,实现更复杂的并发操作。

Global site tag (gtag.js) - Google Analytics