java 线程的使用方法

一、使用线程的三种基本方法

1、扩展Thread类

public class Mythread extends Thread{

public void run(){

System.out.println("拓展thread类");

}

}

//启动线程

Thread myThread =new Thread();

MyThread.start();

2、实现Runnable接口

public class Mythread implements Runnable{

public MyClass(){

Thread thread=new Thread(this);

thread.start();

}

public void run(){

System.out.println("拓展thread类");

}

}

3、使用匿名内类

new Thread (){

public void run(){

System.out.println("拓展thread类");

}

}.start();

二、线程的使用方法

1、等待线程结束 join()方法

MyThread().join();

2、休眠线程 sleep()方法

Thread.sleep(1000);//使线程休眠1000毫秒

3、线程同步 snchronized 关键字

//仅当方法中有全局变量时使用同步关键字,可以避免线程抢占导致数据出错。

//synchronized 的作用是使setPosition()方法执行时不被打断

//即playX=x;与playY=y;要么一起执行,要么不执行。

//不能存在执行了playX=x;后被其他线程抢断,导致playY=y;被推迟执行,而导致程序出错。

public class 位置(){

private int playX;

private int playY;

public synchronized void setPosition(int x,int y){

playX=x;

playY=y;

}

}

时间: 2024-08-19 22:30:59

java 线程的使用方法的相关文章

[转]JAVA线程停止的方法

有三种方法可以使终止线程. 1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止. 2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend.resume一样,也可能发生不可预料的结果). 已废弃 3.  使用interrupt方法中断线程. 如何停止java的线程一直是一个困恼我们开发多线程程序的一个问题.这个问题最终在Java5的java.util.concurrent中得到了回答:使用interrupt(),让线程在run方法中停止. 简介

Java线程死锁解决方法(转)

转自:http://leowzy.iteye.com/blog/740859 Java线程死锁如何避免这一悲剧  Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键.不幸的是,使用上锁会带来其他问题.让我们来看一些常见问题以及相应的解决方法: Java线程死锁 Java线程死锁是一个经典的多线程问题,因为不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成.假设有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮流吃饭.他们都需要获得两个锁:共享

java线程相关基本方法

java线程中常用的基本方法有wait,notify,notifyAll,sleep,join,yield等. 线程的生命周期一共分为五个部分,分别是:新建(New).就绪(Runnable).运行(Running).阻塞(Blocked)和死亡(Dead).由于cpu需要在多条线程中切换因此线程状态也会在多次运行和阻塞之间切换. 线程等待(wait) 调用该方法会使线程会进入WAITING状态,只有等待另外线程的通知或者被中断才会返回,需要注意的是调用wait()方法后,会释放对象的锁,所以,

java 线程停止的方法

线程停止的方法: 记住一点,线程的停止, 1.自己运行完了, 2.如果是无限循环,在外部,只能用flag标记来操作. 但是当线程处于冻结状态(阻塞),sleep,wait,join,(这三个方法抛出异常.) 就不会读取到flag. 这个时候,我们要清除线程的冻结状态,让它回到运行中. 如果,线程没有使之冻结的语句,则,inierrupt()不进行任何操作. interrupt()方法,会使sleep,wait,jion方法抛出异常. 然后,我们在处理异常的语句中来操作. 我推荐的方式:不在cat

java线程停止的方法

之前介绍过,停机线程可以使用interrupte ,可以用标记,让run执行结束.现在我们来看几个方法. 方法1.使用interrupte方法来执行,通过抛出InterruptedException来结束run运行. package secondThreadStudy; import java.lang.InterruptedException; public class MyThread extends Thread { @Override public void run(){ super.r

java线程的一些方法和特性

一.sleep方法和wait方法的区别: 1:wait方法可以指定时间也可以不指定 sleep方法需要指定时间 2:在同步时,对CPU的执行权和锁的处理不同 wait:释放执行权,释放锁 sleep:释放执行权,不释放锁 二.interrupt方法的介绍 interrupt方法将线程从冻结状态强制唤醒,使其获得执行资格.但会引发InterruptedException,需要处理该异常. 原文地址:https://www.cnblogs.com/lsy-lsy/p/10925415.html

java线程同步方法,方法块区别

先说同步方法,它到底是锁定的当前对象,还是当前类 代码块1 package com.ssss; public class Thread1 implements Runnable { //public static Object o=new Object(); public void run() { pt(); } public synchronized void pt(){ int a=0; //synchronized(o) { for (int i = 0; i < 5; i++) { a+

java线程的方法

本文将讲述关于java线程的以下方法: 1.取得线程的名称:Thread.currentThread().getName() 2.判断线程是否启动:isAlive() 3.线程的强制执行:join() 4.线程的休眠:Thread.sleep(2000) 5.线程的中端:interrupt() 6.后台线程:setDaemon(true) 7.线程的优先级:setPriority(8) 8.线程的礼让:yield() 一.取得线程的名称 1 /** 2 * 取得线程的名称 3 * */ 4 cl

转载,IBM一片文章,关于线程的start方法执行

原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-processthread/#icomments Java 中的进程与线程 进程与线程在程序开发中无疑占有极其重要的地位,而 Java 语言为了能提供统一的.与平台无关的关于进程和线程的编程接口,必然要对操作系统提供的相关功能做进一步封装.本文主要介绍 Java 中关于进程与线程的相关封装类,揭示如何创建 Java 进程与线程,Java 封装类和实际的系统本地进程和线程是如何对应的,以及使用