JAVA 线程学习 - Thread了解
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了解的更多相关文章
- java 线程学习
转载:详见处http://lavasoft.blog.51cto.com/62575/27069 Java多线程编程总结 下面是Java线程系列博文的一个编目: Java线程:概念与原理 ...
- java线程学习——汉堡销售问题
汉堡店中有一个负责做汉堡的厨师,一个负责销售的营业员,用java线程表示他们的营业过程: 问题原型就是生产者与消费者的问题. 首先定义一个汉堡包箱子类与几个相关的变量类: public class H ...
- java线程学习(一)
1.简介 java基础知识部分线程创建的三种方式.线程执行的样例. 代码地址:http://git.oschina.net/blue_phantom/javaj 包位置:package com.blu ...
- java线程学习之synchronized关键字
关键字synchronized的作用是实现线程间的同步.它的任务是对同步的代码加锁.一个代码块同时只能有同一个线程进行读和写操作,从而保证线程间是安全的. 线程安全的概念是:当多个线程访问某一个类(对 ...
- 初识java线程(Thread)
<1>.概念问题 线程的状态:1.NEW : 没有start的线程 2.RUNNING :可运行线程,可能正在执行,也可能正在等待操作系统中的其他资源,比如cpu时间片 3.BlOCKED ...
- Java线程学习详解
线程基础 1. 线程的生命周期 1.1 新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态.它保持这个状态直到程序 start() 这个线程. 1 ...
- Java线程学习笔记(两) 线程异常处理
线程捕获异常: 情况下,我们在main()方法里是捕捉不到线程的异常的,比例如以下面代码: public class ExceptionThread implements Runnable{ @Ove ...
- Java线程学习笔记(一个)
一个.正在创建的线程: 老掉牙的话题了.继承 java.lang.Thread父类或者实现Runnalbe接口.这里就提一句: class Thread implements Runnable Thr ...
- 学习java线程学习笔记
线程:代码执行的一个分支 主要作用是提高了效率,cpu能同时执行多个部分的代码. 线程的创建:两种方式 a.继承于thread类,重写run方法. b. ...
随机推荐
- linux php文件include失败 一个很神奇的问题
1. html生成失败,权限问题 前天用php生成模板,在windows上开发,include文件,读缓存写文件,顺风顺水,晚上写完后传到linux上html生成失败,发现文件和文件夹都没生成,网上查 ...
- cocos2d-X-3.X 场景与层
1场景与层的相关函数 1. void runWithScene(Scene * scene). 该函数可以运行场景.只能在启动第一个场景时调用该函数.如果已经有一个场景运行,则不能调用该函数. 2. ...
- html object元素
知道object是播放音频,但是想了解具体点,百度一下,感觉模模糊糊的,感觉看不大明白,最后找到一个解释比较详细,先从应用,到解释具体属性, 具体网址是: http://www.w3school.co ...
- bzoj 2141 : 排队 分块
题目链接 2141: 排队 Time Limit: 4 Sec Memory Limit: 259 MBSubmit: 1169 Solved: 465[Submit][Status][Discu ...
- IIS7内建账号,应用程序池
在IIS7以前的IIS版本中有一个本地帐号,是在安装时创建的,叫做 IUSR_MachineName.一旦启用匿名身份认证,这个IUSR_MachineName帐号就是IIS默认使用的身份(ident ...
- 转: html5 history api详解~很好的文章
从Ajax翻页的问题说起 请想象你正在看一个视频下面的评论,在翻到十几页的时候,你发现一个写得稍长,但非常有趣的评论.正当你想要停下滚轮细看的时候,手残按到了F5.然后,页面刷新了,评论又回到了第一页 ...
- rsyslog 直接读取日志,当日志截断后,不会继续发送
rsyslog web机器上日志被截断,那么就不会发送到rsyslog服务器 因为imfile记录了offset,然后你直接>导致offset还没到
- Turn the corner (三分)
Turn the corner Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- Java中byte转int的方法
byte转化为int有两种情况: 1)要保持数值不变 应用场景:数值计算.等等. 方法:能够直接採用强制类型转换:int i = (int) aByte, 比如:若aByte=0xff(即数值为-1) ...
- Android系统的“程序异常退出”[转]
在应用运行过程中,有很多异常可能会发生,而我们希望在异常发生的时候第一时间的保存现场. 如何处理未捕获的异常呢? 首先我们要实现一个接口 java.lang.Thread.UncaughtExcep ...