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. win7(32 bit) 环境下点击打印预览报错解决办法

      如题,报错截图如下   :     解决办法如下: 1.关闭系统数据执行保护.具体操作: 在win7 系统命令行中执行如下命令: bcdedit.exe /set {current} nx Alw ...

  2. 浅谈Spring(二)

    一.AOP编程(面向切面编程) AOP的本质是代理. 1.静态代理设计模式 概念:通过代理类为原始类增加额外功能. 代理类 = 原始类 + 额外功能 +实现原始类的相同接口. 优点:避免原始类因为额外 ...

  3. sqlserver存储过程及易错点

    create PROCEDURE [dbo].[xiao_adduser] @username NVARCHAR(), @password NVARCHAR(), @adddate DATETIME ...

  4. (转) ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解.这篇文章就对Certificate.Provisioni ...

  5. html回车事件

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. CSS文本

    CSS文字及文本 导航:1.文字及文本2.例子 1.文字及文本文字: 单个字符文本: 多个字符的组合体 2.例子2.1.文字的颜色颜色属性被用来设置文字的颜色格式: color:色值颜色是通过CSS最 ...

  7. firebug如何使用

    1.怎么安装firebug: a.打开火狐浏览器--------b.点击火狐浏览器的右上角这个小图标-------c.点击<获取附件组件>,在右上角的搜索框()内,输入firebug,点击 ...

  8. MYSQL alter procedure alter function 它们只可以更改过程的特性,不可以更改过程的逻辑。

    例子: delimiter // create procedure proc_a(in numberA int) 这样create procedure 是正确的 begin select number ...

  9. phome_enewsclass 数据表字段解释(栏目主表)

    字段名 类型 解释 附加说明 classid smallint(6) 栏目ID   bclassid smallint(6) 父栏目ID   classname varchar(50) 栏目名称   ...

  10. 在CI框架下执行存储的方法

    我直接把代码摆在这里分享哈 <?php /** * * Created by JetBrains PhpStorm. * User: lsl * Date: 14-1-8 * Time: 下午2 ...