好贷网好贷款

Java学习经验(一)多线程初识

发布时间:2016-12-3 12:46:19 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java学习经验(一)多线程初识",主要涉及到Java学习经验(一)多线程初识方面的内容,对于Java学习经验(一)多线程初识感兴趣的同学可以参考一下。

import java.lang.*; import java.io.*; public class one { /** * * @author ZJC * 一、线程的状态分为: * 1.可运行状态:使用start()方法启动一个线程后,线程进入该状态。 * 2.运行中状态:调用了run()方法。 * 3.阻塞状态:一个正在运行的线程因为某种原因不能继续运行,进入阻塞状态(Blocked). * 4.死亡状态:线程结束或因异常退出run()方法。 * 二、改变线程状态: * 1.线程睡眠sleep():线程由运行中的状态进入不可运行的状态,睡眠后再进入可运行状态 * * 2.暂停线程yield():暂停当前线程执行,允许其他线程执行。线程状态仍为可运行,不转为阻塞。 * 此时,系统选择其他同优先级线程执行,若无的的话,则执行该线程。这就是yield:屈服 * 3.连接线程join(): * 4.中断线程interrupt(): * */ public static class ThreadLearn extends Thread { public String names; public ThreadLearn(String name){super(name);names = name;} public void run() { for(int i = 0;i<5;i++) { System.out.println(names+":"+i); try { Thread.sleep(1000); /** * 调用目的:不让当前线程独占该进程所获得的CPU资源,流出一定 * 时间片给该进程中的其他线程; */ } catch(InterruptedException e ) { e.printStackTrace(); } } } } public static void main(String[] args) { // TODO 自动生成的方法存根 ThreadLearn a= new ThreadLearn("a"); ThreadLearn b= new ThreadLearn("b"); System.out.println(Thread.currentThread().getName() + " 线程运行开始!"); a.start(); b.start(); System.out.println(Thread.currentThread().getName() + " 线程运行结束!"); /** * 说明:程序启动运行的时候,java虚拟机启动一个进程,主进程main在 * main()调用的时候创建,随着调用ThreadLearn对象a的start()方法, * 另外一个线程也启动了,这样,整个应用就在多线程下运行。Nice! * start()方法调用后并不是立即执行多线程代码,而是使得该线程变为可运行 * 状态,什么时候运行由操作系统的设置决定。 * 多线程程序在该情况下是乱序执行的。结果随机的。如果创建的对象多会更明显 */ } }

上一篇:指针(一)
下一篇:程序员必看的十大电影

相关文章

相关评论