`
saint2004
  • 浏览: 7281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

第一次编写的多线程程序,希望大家赐教

阅读更多

//目的使用多线程实现计数功能
package com.thread.test;
//实现记数的类
public class AddCount {

public AddCount(){

}

public AddCount(Integer countNum ){
this.countNum = countNum;
}

private int countNum;

public int getCountNum() {
return countNum;
}

public void setCountNum(int countNum) {
this.countNum = countNum;
}

public void addNum(){
//countNum = countNum+1;
countNum +=1;
System.out.println("Off this method countnum : "+countNum);
System.out.println("Off this method threadname : "+Thread.currentThread().getName());
}
}

package com.thread.test;
//线程类
import com.thread.test.AddCount;

public class NumberThread implements Runnable {
private AddCount add  = new AddCount();
boolean flag =true;
public  void run() {
while(flag){
try{
synchronized(add){
System.out.println("Enter this method threadname : "+Thread.currentThread().getName());
System.out.println("Enter this method countNum : "+add.getCountNum());
add.addNum();
if(add.getCountNum()==100){
flag =false;
}
}
}catch(Exception e){
flag =false;
e.printStackTrace();
}
}
}

}

package com.thread.test;
//测试类
import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
import com.thread.test.NumberThread;

public class TestCount {

public static void main(String[] args) {


/**
* 没有使用线程池的调用方式
*/
/* NumberThread num = new NumberThread();
Thread td0 = new Thread(num);
td0.setName("td0");
td0.start();
Thread td1 = new Thread(num);
td1.setName("td1");
td1.start();*/
/**
* 使用线程池的调用方式
*/
ExecutorService exec=null;
NumberThread num;
try{
exec =Executors.newFixedThreadPool(2);
    num = new NumberThread();
Thread td0 = new Thread(num,"td0");
//td0.setName("td0");
exec.execute(td0);
Thread td1 = new Thread(num,"td1");
//td1.setName("td1");
exec.execute(td1);
}catch(Exception e){
e.printStackTrace();
}finally{
exec.shutdown();
}

}
}


分享到:
评论

相关推荐

    编写多线程程序

    多线程程序编写 多线程编程是指在一个程序中同时运行多个线程,以提高程序的执行效率和响应速度。在 Windows 平台上,多线程编程通常使用 WINAPI 提供的线程控制函数来实现。 在多线程程序中,需要使用线程建立...

    使用三种VC的多线程同步方法编写一个多线程的程序

    1.使用三种VC的多线程同步方法编写一个多线程的程序(要求在屏幕上先显示Hello,再显示World)。 1)基于全局变量的多线程同步程序; 2)基于事件的多线程同步程序; 3)基于临界区的多线程同步程序。

    C#编写多线程程序源码

    通过学习和理解这些概念,并结合提供的"C#编写多线程程序源码"实例,你可以更好地掌握C#中的多线程编程,从而编写出高效、稳定的应用程序。在实际开发中,还需要考虑线程安全、性能优化以及错误处理等细节。

    vc用MFC编写多线程程序

    visual c++ vc用MFC编写多线程程序

    C#编写的多线程多主机端口扫描程序

    本项目,"C#编写的多线程多主机端口扫描程序",正是针对这一需求而设计的。它利用C#编程语言的强大功能,特别是其对多线程的支持,实现了高效快速地扫描多个主机的多个端口。 首先,我们来理解多线程的概念。在单...

    易语言多线程多次启动一个子程序

    在多线程环境中,同一个子程序可以被多次启动,每个启动都会创建一个新的线程实例。为了确保线程安全,需要考虑以下几个方面: 1. **资源竞争**:当多个线程访问同一资源时,可能会引发数据不一致问题。易语言提供...

    POSIX多线程程序设计.pdf

    《POSIX多线程程序设计》深入描述了IEEE的开放系统接口标准——POSIX线程,通常称为Pthreads标准。本书首先解释了线程的基本概念,包括异步编程、线程的生命周期和同步机制;然后讨论了一些高级话题,包括属性对象、...

    用PB编写多线程应用程序

    多线程是指一个程序内部同时执行的多个流程,与单线程相比,它至少有两个方面的优点:第一,它可以更好地利用系统资源,比如CPU,若一个线程因I/O操作受阻,另一个线程仍可利用CPU来执行;第二,它更好地满足了客户...

    Delphi中多线程程序的编写

    在Delphi编程环境中,多线程技术是一种强大的工具,它允许程序同时执行多个任务,从而提高应用程序的响应性和效率。本文将深入探讨如何在Delphi中编写多线程程序。 一、理解多线程 多线程是操作系统提供的功能,...

    多线程 pi计算

    使用随机数来计算pi值,使用多线程

    Win32多线程程序设计.pdf(带目录)

    《Win32多线程程序设计》一书深入探讨了在Windows操作系统环境下,利用C++进行多线程编程的技术和方法。多线程是现代软件开发中的关键概念,尤其是在资源密集型应用、实时系统和高性能计算领域。通过合理地利用多...

    使用TCPServer编写(多线程)socket服务

    在IT行业中,网络编程是不可或缺的一部分,特别是在服务器端开发中,使用TCPServer编写多线程的socket服务是一项基础但重要的技术。本文将详细讲解如何使用TCPServer来实现这样的服务,以及多线程在其中的作用。 ...

    由C#编写的多线程异步抓取网页的网络爬虫控制台程序

    描述:由C#编写的多线程异步抓取网页的网络爬虫控制台程序 功能:目前只能提取网络链接,所用的两个记录文件并不需要很大。网页文本、图片、视频和html代码暂时不能抓取,请见谅。 但需要注意,网页的数目是非常...

    winsock api 使用多线程编写服务器程序源码

    winsock api 使用多线程编写服务器程序winsock api 使用多线程编写服务器程序winsock api 使用多线程编写服务器程序winsock api 使用多线程编写服务器程序winsock api 使用多线程编写服务器程序

    用VC编写的多线程程序

    在编程领域,多线程(Multithread)技术是一种允许应用程序同时执行多个任务或子任务的方法,这极大地提高了软件的效率和响应性。在Windows环境下,Microsoft Visual C++(简称VC)提供了一套完整的工具集,支持开发...

    编写简单的HTTP 1.0客户端/服务器程序:.编写多线程Web服务器:编写简单的RMI程序

    本实验旨在通过编写简单的HTTP 1.0客户端/服务器程序、多线程Web服务器以及RMI程序,帮助你深入理解这些关键技术。 首先,我们来看HTTP 1.0客户端/服务器程序。HTTP是超文本传输协议,它是互联网上应用最为广泛的一...

    POSIX多线程程序设计

    POSIX多线程程序设计是面向有经验的C语言程序员的高级技术参考书籍,由David R. Butenhof撰写,并由于和厦曾刚翻译成中文版,该书详细介绍了基于IEEE开放系统接口标准的POSIX线程,也就是通常所说的Pthreads标准。...

    在C#中编写多线程应用程序,简单!_www_knowsky_com.htm

    在C#中编写多线程应用程序,简单!_www_knowsky_com.htm在C#中编写多线程应用程序,简单!_www_knowsky_com.htm在C#中编写多线程应用程序,简单!_www_knowsky_com.htm

    Linux下的多线程编程.pdf

    Linux下的多线程编程是一种高效的程序设计方法,它可以将一个程序的任务划分为多个部分,每个部分是一个顺序控制流。多线程编程可以实现并行计算,高效利用多处理器,并且具有许多优点,如节约系统资源、方便的线程...

    Win32 多线程程序设计(pdf)

    《Win32多线程程序设计》是一本深入探讨Windows操作系统环境下如何开发多线程应用程序的专业书籍。在当今计算机系统中,多线程已经成为提升软件性能、实现并发处理的关键技术。Win32 API提供了丰富的接口支持多线程...

Global site tag (gtag.js) - Google Analytics