`
alienjun
  • 浏览: 11629 次
  • 性别: Icon_minigender_1
  • 来自: 广西
最近访客 更多访客>>
社区版块
存档分类
最新评论

线程使用

    博客分类:
  • Java
 
阅读更多
线程——程序内部不同的执行路径。

创建线程有两种方式:
A、继承java.lang.Thread类。
   
class ThreadTest extends Thread{
        public void run() {
            System.out.println ("someting run here!");
        }
        public void run(String s){
            System.out.println ("string in run is " + s);
        }
        public static void main (String[] args) {
            ThreadTest tt = new ThreadTest();
            tt.start();
            tt.run("it won't auto run!");
        }
    }


B、实现java.lang.Runnable接口。
   
class ThreadTest implements Runnable {
        public void run() {
            System.out.println ("someting run here");
        }
        public static void main (String[] args) {
            ThreadTest tt = new ThreadTest();
        Thread t1 = new Thread(tt);
        Thread t2 = new Thread(tt);
        t1.start();
        t2.start();
            //new Thread(tt).start();
        }
    }


常用方法:
isAlive();判断是否是活动的,终止就是死了,没有就绪也是死的,其余都是活动的。

getPriority();获得线程的优先级数值

setPriority();设置线程的优先级数值

Thread.sleep();当前线程睡眠指定毫秒数

join();调用某线程的该方法,将当前线程于该线程“合并”,即等待该线程结束,再恢复当前线程的运行。

yield();让出CPU,当前线程进入就绪队列等待调度。

wait();当前线程,进入对象的wait pool

notify()/notifyAll();唤醒对象的wait pool 中的一个/所有等待的线程。

interrupt() 中断线程。

停止线程很好的办法是在run();外定义一个boolean类型,外面通过传值判断就行了!

public class TestInterrupt {
	public static void main(String[] args) {
		MyThread td=new MyThread();
		td.start();
		try {
			Thread.sleep(10000);
			td.flag=false;
		} catch (InterruptedException e) {
		}
		
	}

}

class MyThread extends Thread{
	public boolean flag=true;
	@Override
	public void run() {
		super.run();
		while (flag) {
			System.out.println("----"+new Date());
			try {
				sleep(1000);
			} catch (InterruptedException e) {
				return;
			}
		}
		
	}
}
分享到:
评论

相关推荐

    C# Timer的多线程使用方法

    多线程使用时的注意事项: - **线程安全**:无论是哪种Timer,当在回调或事件处理程序中访问共享数据或UI控件时,都需要确保线程安全。使用`lock`关键字、`Monitor`类或.NET的线程同步机制(如`Interlocked`)来防止...

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

    本资源包含六个C#.NET多线程实例,涵盖了多线程的基本使用以及高级特性,如线程互斥,确保了线程安全和数据一致性。 1. **多线程基础**: - **创建线程**:在C#中,可以使用`Thread`类创建新线程。通过构造函数...

    java的多线程使用方法

    java多线程的使用方法如何使用,怎么使用,使用过程中有什么要注意的

    Java线程使用教程

    通过学习这个Java线程使用教程,你将能够熟练地在多线程环境中编写高效、安全的Java程序,理解线程同步、通信、线程池以及并发工具类的使用。阅读提供的"Java线程.pdf"和"说明.txt"文件将帮助你更深入地掌握这些知识...

    C# 线程使用总结

    本文将深入探讨C#线程的使用,包括创建线程、线程同步、线程通信以及如何管理和控制线程。 1. **线程创建** 在C#中,可以通过两种主要方式创建线程:使用`Thread`类或使用`Task`类。`Thread`类是最原始的方法,...

    JAVA的多线程使用讲解

    JAVA多线程使用讲解,如何创建线程,讲解如何使用多线程,以及线程的等待与唤醒。 JAVA多线程使用讲解,如何创建线程,讲解如何使用多线程,以及线程的等待与唤醒。 JAVA多线程使用讲解,如何创建线程,讲解如何使用...

    两种多线程使用方式演示.rar

    本文件"两种多线程使用方式演示.rar"将展示如何在易语言中创建和管理多线程。 首先,我们要了解多线程的两种基本实现方式: 1. **线程对象创建**:这是最常见的方式,程序员通过调用易语言提供的线程创建函数(如...

    易语言两种多线程使用方式演示

    在提供的压缩包文件中,"易语言两种多线程使用方式演示源码"包含了这两个方法的实际代码示例。通过阅读这些源码,我们可以更深入地理解如何在易语言中编写多线程程序。这些示例通常会包含以下部分: 1. 主线程代码...

    Java/Android关于线程使用的总结

    ### Java/Android线程使用深度解析 在计算机科学领域,线程与进程是核心概念,尤其是在多任务操作系统中。本文将深入探讨Java/Android环境下的线程管理,包括线程的创建、线程池的利用及`ThreadHandler`的运用等...

    WindowC++线程使用源码例子

    以下是对"WindowC++线程使用源码例子"中可能包含的知识点的详细解释。 1. **Windows API与线程创建** Windows操作系统提供了API函数来创建和管理线程,如`CreateThread()`。这个函数创建一个新线程,用于执行指定...

    java项目史上最简单的多线程使用方法(demo)

    本文将深入探讨Java项目中最简单的多线程使用方法,通过一个名为"thread-test"的示例项目来讲解如何在企业实际场景中应用多线程。 一、Java多线程基础 1. **Thread类与Runnable接口** Java中实现多线程有两种方式...

    易语言多线程使用演示

    在这个“易语言多线程使用演示”中,我们将深入探讨如何在易语言中实现和管理多线程。 首先,我们要理解什么是多线程。在单线程程序中,执行任务是顺序进行的,而多线程则允许程序同时执行多个任务。这通过创建并行...

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

    这个压缩包文件包含了六个C#.NET多线程的实例,涵盖了从基础到高级的多线程使用场景,包括了线程的基本操作和线程间的同步与互斥。 1. **线程基础** - **创建线程**:在C#中,可以使用`Thread`类来创建和启动新...

    易语言多线程使用例程

    在这个“易语言多线程使用例程”中,我们可以学习到如何在易语言环境下创建和管理多线程。多线程允许程序同时执行多个不同的任务,这样可以提高程序的并行性,提升系统资源利用率,尤其是在多核处理器系统中效果更...

    JNI线程使用.rar

    本压缩包文件“JNI线程使用.rar”包含了关于Android环境下使用JNI进行多线程编程以及实现生产者消费者模型的示例。 首先,让我们深入理解JNI线程的使用。在Java中创建线程相对简单,但当涉及到与C/C++代码交互时,...

    Qt 多线程使用串口源码下载

    5. **同步控制**:使用`QMutex`或`QSemaphore`等同步机制确保在多线程环境中的数据访问安全。 6. **线程结束**:当不再需要串口通信时,应正确地关闭串口和终止线程。可以设置一个停止标志,让`run()`函数在检测到...

    C#各种多线程使用的示例

    本资源“C#各种多线程使用的示例”提供了关于如何在C#中有效利用多线程的实践代码。 1. **线程的创建** C#中可以通过`System.Threading.Thread`类来创建新线程。例如,通过`new Thread(StartMethod)`实例化一个...

    C#多线程使用

    【C#多线程使用】 在C#编程中,多线程是一种常见技术,用于同时执行多个任务,提高程序的并发性和效率。C#在.NET框架下提供了多种创建和管理线程的方式。以下是对C#多线程使用方法的详细说明: 1. **线程的创建与...

Global site tag (gtag.js) - Google Analytics