`
Ai臣子
  • 浏览: 4974 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

浅谈线程

阅读更多
1.关于编写代码中遇到要同时调用执行几种方法的时候运用线程。
 
   在以前学到的知识中,,我们在一个类中调用方法只能是以串联的方式。当一个方法执行完成时才能执行下一个方法。但是运用线程就能实现并联的功能:


  1.1在线程里面写多个方法,再在run方法里面调用这些方法:
	public void run(){
		if(type ==0){
			a();
		}
		if(type ==1){
			b();
		}
		if(type ==2){
			c();
		}
		if(type ==3){
			d();
		}
	}
    public void a(){
	int scrx = 0;
	int scry = 0;
	for(int i=0;i<10000;i++){
		System.out.println("a执行啦");
	if(go){
		//设置颜色
	g.setColor(Color.BLUE);
	g.clearRect(scrx, scry, 30, 30);
	g.fillOval(i, i, 30, 30);
	scrx =i;
	scry =i;
	//程序暂停时间
		try{
			Thread.sleep(100);
		}catch(Exception ef){}
	}else{try{
		Thread.sleep(100);
	}catch(Exception ef){}}
	}
}
	
public void b(){
	int scrx = 0;
	int scry = 0;
	for(int i=0;i<10000;i++){
		if(go){
		System.out.println("b执行啦");
		g.setColor(Color.green);
		g.clearRect(scrx, scry, 30, 30);
		g.fillOval(980-i, i, 30, 30);
		scrx =980-i;
		scry =i;	
		try{
			Thread.sleep(100);
		}catch(Exception ef){}
	}else{try{
		Thread.sleep(100);
	}catch(Exception ef){}}
	}
}
public void c(){
	int scrx = 0;
	int scry = 0;
	for(int i=0;i<10000;i++){
		if(go){
		System.out.println("c执行啦");
		g.setColor(Color.BLUE);
		g.clearRect(scrx, scry, 30, 30);
		g.fillOval(i, 680-i, 30, 30);
		scrx =i;
		scry =680-i;
		try{
			Thread.sleep(100);
		}catch(Exception ef){}
	}else{try{
		Thread.sleep(100);
	}catch(Exception ef){}}
	}
}
	
public void d(){
	int scrx = 0;
	int scry = 0;
	for(int i=0;i<10000;i++){
		if(go){
		System.out.println("d执行啦");
		g.setColor(Color.gray);
		g.clearRect(scrx, scry, 30, 30);
		g.fillOval(980-i, 680-i, 30, 30);
		scrx =980-i;
		scry =680-i;
		try{
			Thread.sleep(100);
		}catch(Exception ef){}
	}else{try{
		Thread.sleep(100);
	}catch(Exception ef){}}
		
	}
}


 
   1.2写好线程类,即是继承于Thread,之后,在于事件监听器中实例化线程对象,运用对象调用start()方法,这样便会执行写入run()中的方法。
	PaintThread pt = new PaintThread(g,0);
			pt.start();
			PaintThread pt1 = new PaintThread(g,1);
			pt1.start();
			PaintThread pt2 = new PaintThread(g,2);
			pt2.start();
			PaintThread pt3 = new PaintThread(g,3);
			pt3.start();

   这样上面的四个方法会同时运行,得到如下效果:[img]

[/img]。
   就是四个小球从四个方向同时走动!!!!
  • 大小: 29.6 KB
分享到:
评论

相关推荐

    浅谈线程课程设计论文(操作系统).pdf

    【线程的概念与作用】 线程是操作系统中执行的基本单元,是进程的一部分,它比进程更细粒度,是CPU调度和分派的基本单位。线程自身只持有少量资源,如程序计数器、寄存器和栈,但它可以和其他线程共享进程的所有...

    浅谈线程的几种可用状态

    浅谈线程的几种可用状态 线程是操作系统中的一种基本概念,它可以帮助我们更好地管理系统资源和提高系统的效率。线程有多种状态,这些状态之间可以相互转换,了解这些状态对于我们编写高效的多线程程序非常重要。 ...

    浅谈线程通信wait,notify作用

    浅谈线程通信wait、notify作用 在多线程编程中,线程之间的通信非常重要。wait()和notify()方法是Java语言中最基本的线程通信机制。它们可以使得线程之间相互发送信号,从而实现线程之间的协作。 wait()方法的作用...

    浅谈android线程模型

    ### 浅谈Android线程模型:深入理解与实践 #### 引言 随着智能手机的普及和技术的不断进步,Google的Android操作系统成为了移动设备领域的重要力量。Android不仅为用户提供了丰富的功能,也为开发者提供了广阔的...

    浅谈C#跨线程调用窗体控件(比如TextBox)引发的线程安全问题

    浅谈C#跨线程调用窗体控件引发的线程安全问题 C#跨线程调用窗体控件时可能会引发线程安全问题,例如当多个线程操作同一个控件时,该控件可能会进入不一致的状态,出现争用情况和死锁等问题。因此,确保以线程安全...

    浅谈多线程_让程序更高效的运行

    【多线程】是计算机编程中的一个重要概念,它允许程序在同一时间内执行多个任务,从而提高了程序的执行效率。在Java中,多线程是通过创建并运行多个线程来实现的,每个线程代表着进程中的一条独立控制流。Java线程是...

    浅谈Java多线程编程.pdf

    "浅谈Java多线程编程" 从标题和描述可以看出,这篇文章的主题是讨论Java多线程编程的相关知识点。 多线程编程的概念 Java语言的一个重要特点是支持多线程机制,这使得Java程序可以支持多程序并发执行,从而提高...

    浅谈java多线程编程

    【Java多线程编程】是Java开发中不可或缺的一部分,它允许程序同时执行多个任务,从而提高效率和响应速度。本文将深入探讨Java多线程的优缺点、创建方式以及线程安全与同步机制。 **一、多线程的优缺点** 1. **...

    浅谈JAVA语言的多线程技术.pdf

    浅谈JAVA语言的多线程技术 一、多线程技术的概述 JAVA语言作为一种面向对象的编程语言,它具有平台独立性、安全性、网络化、多线程、面向对象等特点。其线程机制在实践中广泛应用而受到编程者的极大关心。本文就...

    浅谈Linux下的多线程编程.pdf

    【Linux下的多线程编程】 在Linux操作系统中,多线程编程是一种常见且重要的编程模型,它允许多个执行流(线程)在一个进程中同时运行,以提高程序的并发性和资源利用率。多线程在系统开发中扮演着关键角色,特别是...

    浅谈JAVA中多线程的实现.zip

    在Java编程语言中,多线程是程序设计中的一个重要概念,尤其在开发高效能、响应迅速的应用时。本文将深入探讨Java中多线程的实现,帮助开发者理解如何利用这一特性来优化应用程序。 多线程是指在一个程序中同时运行...

    浅谈Java的多线程机制.pdf

    ### 浅谈Java的多线程机制 #### 一、引言 随着计算机技术的不断发展,编程模型变得越来越复杂和多样化。多线程编程模型作为目前计算机系统架构中的一个重要组成部分,其重要性日益凸显。特别是在X86架构的硬件成为...

    浅谈.Net下的多线程和并行计算(全集)

    在.NET框架中,多线程和并行计算是提高应用程序性能和响应能力的关键技术。本文将深入探讨这两个概念,以及如何在.NET环境下有效地利用它们。 首先,多线程是指一个程序中同时执行多个独立的线程,每个线程都有自己...

    浅谈linux多线程编程和windows多线程编程的异同.doc

    在Linux中,多线程编程主要依赖于POSIX线程库(通常称为pthreads),其API包括`pthread_create()`用于创建线程,`pthread_join()`用于等待线程结束,以及`pthread_mutex_lock()`和`pthread_mutex_unlock()`用于互斥...

    浅谈Java线程的生命周期——北大青鸟佳音旗舰.docx

    在Java编程中,线程是程序执行的最小单元,它们允许并发处理多个任务,提高程序的效率。本文将深入探讨Java线程的生命周期,包括创建、启动、结束以及线程的协作和调度。 首先,创建Java线程有两种主要方式:直接...

Global site tag (gtag.js) - Google Analytics