public class ThreadKnow
{
private TimeThread timeThread;
private boolean flag; public ThreadKnow()
{
/*************************创建线程************************/
//自定义线程构建方式一 继承Thread类
// public class MyThreadExam1 extends Thread
// { //自定义线程构建方式二:实现Runnable接口
// public class MyThreadExam2 implements Runnable
// { //对于需要在线程中执行的操作,可以重写父类的run()方法,并在方法中添加操作代码 /*************************线程中控制状态的使用************************/
/***一***/
//Thread.sleep()只能对当前运行的线程进行阻塞
//sleep在进入阻塞状态后只有到达时间毫秒后自动苏醒,任意方式打断处于sleep状态的线程都将引起异常
//sleep在进入阻塞状态后该线程所使用的到其他对象都将处于锁定的状态(sleep阻塞不会释放对象锁)
/***二***/
//当发生多个线程公用一个对象时,为防止该对象被随意使用,可以使用同步快对对象进行控制,为对象加上对象锁
//对象所只能对对象有作用:即对基本数据类型时没作用的
// synchronized (list)
// {
// //操作代码
// }
/***三***/
//加入线程队列中,等待线程执行完毕
// timeThread.join();
/***四***/
//强制终止该线程
timeThread.stop();
/***五***/
//挂起线程,但是会保留对象锁
timeThread.suspend();
/***六***/
//继续挂起的线程,和suspend搭配使用
timeThread.resume();
/***七***/
//将该线程加入到执行队列中,等待该线程的执行完毕
// timeThread.join();
/***八***/
//暂停当前正在执行的线程,并执行其他线程
timeThread.yield(); /***九***/
//线程等待:该方法是Object对象的方法,但是也可以控制线程,而且会释放对象锁
// new Object().wait();
/***十***/
//线程唤醒:同样是Object对象的方法,需要搭配使用wait()使用
new Object().notify(); //创建线程
timeThread = new TimeThread();
//开启线程
timeThread.start();
//判断线程的状态
if(timeThread.getState() == State.NEW)
{
}
else
{
}
//打断线程,并不能阻止线程的停止,修改线程的状态
timeThread.interrupt();
//暂停线程,将线程挂起
timeThread.suspend();
//继续线程,将使用suspend挂起的线程继续执行
timeThread.resume();
} public static void main(String[] args)
{ }
/**
* 显示时间的线程
* @author Administrator
*
*/
private class TimeThread extends Thread
{ @Override
public void run()
{
while(true)
{
if(flag)
{
String time = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
// lblTime.setText(time);
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
} }
}

JAVA 线程学习 - Thread了解的更多相关文章

  1. java 线程学习

    转载:详见处http://lavasoft.blog.51cto.com/62575/27069   Java多线程编程总结   下面是Java线程系列博文的一个编目:   Java线程:概念与原理 ...

  2. java线程学习——汉堡销售问题

    汉堡店中有一个负责做汉堡的厨师,一个负责销售的营业员,用java线程表示他们的营业过程: 问题原型就是生产者与消费者的问题. 首先定义一个汉堡包箱子类与几个相关的变量类: public class H ...

  3. java线程学习(一)

    1.简介 java基础知识部分线程创建的三种方式.线程执行的样例. 代码地址:http://git.oschina.net/blue_phantom/javaj 包位置:package com.blu ...

  4. java线程学习之synchronized关键字

    关键字synchronized的作用是实现线程间的同步.它的任务是对同步的代码加锁.一个代码块同时只能有同一个线程进行读和写操作,从而保证线程间是安全的. 线程安全的概念是:当多个线程访问某一个类(对 ...

  5. 初识java线程(Thread)

    <1>.概念问题 线程的状态:1.NEW : 没有start的线程 2.RUNNING :可运行线程,可能正在执行,也可能正在等待操作系统中的其他资源,比如cpu时间片 3.BlOCKED ...

  6. Java线程学习详解

    线程基础 1. 线程的生命周期 1.1 新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态.它保持这个状态直到程序 start() 这个线程. 1 ...

  7. Java线程学习笔记(两) 线程异常处理

    线程捕获异常: 情况下,我们在main()方法里是捕捉不到线程的异常的,比例如以下面代码: public class ExceptionThread implements Runnable{ @Ove ...

  8. Java线程学习笔记(一个)

    一个.正在创建的线程: 老掉牙的话题了.继承 java.lang.Thread父类或者实现Runnalbe接口.这里就提一句: class Thread implements Runnable Thr ...

  9. 学习java线程学习笔记

    线程:代码执行的一个分支          主要作用是提高了效率,cpu能同时执行多个部分的代码.      线程的创建:两种方式      a.继承于thread类,重写run方法.      b. ...

随机推荐

  1. telnet测试端口号

    telnet Ip 端口号 如:telnet localhost 1433 详见此链接(转) http://www.3lian.com/edu/2012/11-08/43232.html

  2. [vc]如何对radio按钮分组

    如何使用多组? 多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了.再为对话框添加Radio3和Radio4.很简单,先为这些RadioButton排个顺序,就是排列他们的TABORDER.在对话 ...

  3. Problem B: 最少步数

    DescriptionA friend of you is doing research on theTraveling Knight Problem (TKP) where you are to f ...

  4. Spring集成Quartz定时器

    <!-- Spring集成Quartz开始 --> <bean id="startQuertz" lazy-init="false" auto ...

  5. HDU 3507 Print Article(CDQ分治+分治DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3507 [题目大意] 将长度为n的数列分段,最小化每段和的平方和. [题解] 根据题目很容易得到dp ...

  6. Uber 司机有话说:你以为当个 Uber 司机很轻松?大错特错!

    Uber 最近的负面新闻越来越多.各方成员都在抨击.斥责.揭露 Uber 公司的各种黑幕.今天,来自 Uber 公司的司机为您讲述咱「拼车老司机」自己的故事.你以为开着自己的私家车出去满城市的晃悠接客 ...

  7. Ubuntu下lamp(PHP+Mysql+Apache)搭建+完全卸载卸载方法

    安装apache2 sudo apt-get install apache2 安装完成,运行如下命令重启下: sudo /etc/init.d/apache2 restart 在浏览器里输入http: ...

  8. java.lang.NoClassDefFoundError: javax/servlet/AsyncContext

    报错:java.lang.NoClassDefFoundError: javax/servlet/AsyncContext 我认为你需要在Servlet API,而不是2.5.AsyncContext ...

  9. MD5的加密和解密(总结)

    效果图例如以下: package com.test; import java.security.MessageDigest; public class MD5 { // MD5加码.32位 publi ...

  10. Android Animation动画(很详细)

    Android Animation   Contents: Animations Tween Animations AnimationSet Interpolator Frame-By-Frame A ...