`

多线程 同步 简单示例

阅读更多

import java.util.Arrays;


public class maopao extends Thread{
 
 public static int a=9;
 
 String k=new String("");
 @Override
 public void  run() {
  // TODO Auto-generated method stub
  System.out.println("进入线程");
  super.run();
  synchronized (k){  
  try {
      
   this.sleep(6000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
      for(int i=0;i<6;i++){
      
       System.out.println(i);
   }
      
      }
 }

 public static void main(String[] args) {
   // 一种方法 
   maopao m=new maopao();
      Thread t1=new Thread(m);
      Thread t2=new Thread(m);
      Thread t3=new Thread(m);
   t1.start();
   t2.start();
   t3.start(); 
 
 }

 

 

 

 

 

 

 

多窗口售票系统   线程

  1. package net.okren.java;   
  2.   
  3. class SaleTicket implements Runnable{   
  4.     private int tickets = 100;   
  5.     public void run(){   
  6.         while(tickets > 0){   
  7.             sale();   
  8.         }   
  9.     }   
  10.        
  11.     private synchronized void sale(){   
  12.         if(tickets > 0){   
  13.             System.out.println(Thread.currentThread().getName() + "卖出 第 "+ (100 - tickets + 1)+"张票");   
  14.             tickets--;   
  15.             try{   
  16.                 Thread.sleep(500);   
  17.             }catch(InterruptedException e){   
  18.                 e.printStackTrace();   
  19.             }   
  20.         }   
  21.     }   
  22. }   
  23.   
  24. public class JavaTest {   
  25.            
  26.     public static void main(String[] args){   
  27.   
  28.         SaleTicket st = new SaleTicket();   
  29.         Thread t1 = new Thread(st, "一号窗口");   
  30.         Thread t2 = new Thread(st, "二号窗口");   
  31.         Thread t3 = new Thread(st, "三号窗口");   
  32.         Thread t4 = new Thread(st,"四号窗口 ");   
  33.         t1.start();   
  34.         t2.start();   
  35.         t3.start();   
  36.         t4.start();   
  37.            
  38.        
  39.            
  40.     }   
  41. }  
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java线程,多线程和线程同步简单示例

    NULL 博文链接:https://dr-yanglong.iteye.com/blog/1967574

    VC++多线程同步基本示例

    本示例着重讲解了VC++中的多线程同步,这是多线程编程中确保数据安全和正确性的重要概念。我们将深入探讨临界区、互斥量、事件和信号量这四种多线程同步机制。 1. **临界区(Critical Section)**:临界区是多线程...

    简单实现多线程同步示例(模拟购票系统)

    本示例“简单实现多线程同步示例(模拟购票系统)”旨在通过一个具体的实例,帮助开发者理解如何在Java中创建并管理多线程以及如何实现线程同步,确保数据的一致性和正确性。 首先,我们要明确多线程的基本概念。在...

    多线程同步和通讯完整示例

    在编程领域,尤其是在Java这样的多线程环境中,理解和掌握多线程同步与通讯至关重要。...通过学习和实践synchronized_lock_waitnofity这个示例,你将能更好地理解和应用这些多线程同步通讯的概念。

    多线程编程示例

    1. **线程同步**:当多个线程访问同一资源时,可能导致数据不一致。为此,可以使用锁(Mutex, Semaphore, Monitor等)或者`lock`关键字来确保同一时间只有一个线程访问共享资源。 2. **死锁**:多个线程互相等待对方...

    简单的多线程示例delphi7

    总结起来,"简单的多线程示例delphi7"这个项目提供了一个基础的多线程实现,通过TThread类创建新线程,并通过重写Execute方法来定义线程任务。开发者可以通过学习这个示例,理解如何在Delphi 7中进行多线程编程,以...

    Delphi多线程同步的例子

    本文将深入探讨Delphi中的多线程和线程同步,并以"SortThreads"和"delphi-thread-gui"这两个示例项目为例,讲解如何在实践中应用这些概念。 1. **多线程**:多线程允许应用程序同时执行多个独立的任务,提高程序的...

    使用互斥进行线程同步代码示例 Thread3_23.zip_互斥_线程同步

    在多线程编程中,线程同步是一种至关重要的技术,用于确保多个线程在访问共享资源时能够有序、正确地执行。"互斥"和"线程同步"是这一领域中的核心概念。本文将深入探讨这两个概念,并通过提供的代码示例进行详细解释...

    java多线程操作简单示例

    本文将通过一个简单的Java多线程示例来介绍如何在Java中创建和管理线程,以及如何实现线程间的同步。 #### 二、Java多线程基础 ##### 2.1 线程的概念 在Java中,线程是程序执行的最小单位,它拥有独立的程序计数器...

    C#实现多线程同步并发操作

    本文将深入探讨如何在C#中实现多线程同步并发操作,这不仅对于提高软件性能至关重要,也是高级程序员必须掌握的核心技能之一。 ### C#中的多线程同步并发操作 多线程编程可以极大地提高CPU的利用率,特别是在处理I...

    MFC中的多线程同步

    在IT行业中,尤其是在Windows开发领域,多线程同步是一个至关重要的概念。MFC(Microsoft Foundation Classes)是微软提供的一种C++库,它为构建Windows应用程序提供了丰富的类和接口。在这个主题中,我们将深入探讨...

    JNI 多线程同步机制的源码实现

    下面是一个简单的示例,展示了如何在JNI中使用互斥量实现多线程同步: ```c #include #include pthread_mutex_t mutex; JNIEXPORT jint JNICALL Java_MyClass_nativeMethod(JNIEnv *env, jobject obj) { ...

    利用临界区的多线程同步测试.rar_临界区_多线程同步_线程 同步_线程同步

    在"利用临界区的多线程同步测试"这个项目中,可能包含的是一个通过创建多个线程并使用临界区进行同步的示例代码。这个测试可能涉及到如何定义和使用临界区,如何在多线程环境中避免数据竞争,以及如何通过同步确保...

    多线程优先级示例_赛马

    在多线程的"赛马"示例中,我们可以模拟一场赛马比赛,每匹马代表一个线程,它们各自具有不同的优先级。比赛的目的是让优先级高的马先到达终点,以此来展示优先级在多线程环境中的影响。这个例子可以帮助我们理解线程...

    多线程示例,同时同步到进度条

    标题“多线程示例,同时同步到进度条”表明我们要探讨的是如何在多个线程并行运行的同时,同步更新一个进度条来显示任务的完成状态。这在大型数据处理、网络下载或复杂计算等场景中非常常见,它可以帮助用户了解任务...

    java多线程应用实现示例

    本示例着重探讨如何在Java中实现多线程,并通过一个具体的小球运动模拟来阐述相关概念。 一、多线程基础 多线程是指在一个进程中可以存在多个并发执行的线程。Java提供了两种方式创建线程:继承Thread类或实现...

    多线程同步演示(采用CreateThread()和WaitForMultipleObjects()函数)

    以下是对这两个函数及其在多线程同步演示中的应用的详细解释。 首先,`CreateThread()`函数用于创建一个新的线程来执行指定的函数,即线程的入口点。该函数接收一系列参数,包括线程函数指针、初始线程堆栈大小、...

    java 多线程示例

    本示例旨在为初学者提供一个全面理解Java多线程的起点。通过学习这个实例,你可以掌握如何创建和管理线程,理解线程同步与通信的重要性,以及如何处理线程安全问题。 1. **线程的创建** Java提供了两种创建线程的...

    C#的多线程示例;几个多线程之间的互斥,同步;WPF主界面INVOKE

    本文将深入探讨C#中的多线程机制,包括线程互斥与同步,以及如何在WPF主界面中安全地更新UI。 首先,让我们理解什么是多线程。多线程是指一个应用程序内同时运行多个独立的执行线程。在C#中,可以使用`System....

    多线程操作串口示例(带modbus

    本示例结合了这两个概念,展示了如何在编程中实现多线程操作串口,特别是与Modbus协议交互。 首先,我们要理解多线程。在计算机科学中,线程是程序执行的基本单元,每个线程可以独立地执行任务。多线程意味着一个...

Global site tag (gtag.js) - Google Analytics