晏子使楚翻译和原文(晏子使楚翻译) 股指期货入门:期指贴水是什么意思(股指期货入门:期指贴水是什么意思呀) 自我反思怎么写学生(自我反思怎么写) 怎么在百度发布信息 百度怎么发动态(百度怎样发布消息) 加勒比海盗小提琴曲(双城变奏中的小提琴曲) 排球的场地如何安排及尺寸大小(排球比赛场地尺寸大小) 手机壳贴钻还能这样DIY 你不知道吧(怎样贴手机壳的钻才能更牢固) 余弦函数公式大全表格(余弦函数公式) 如何解决使用打印机突然提示“尚未安装打印机”(尚未安装打印机怎么回事) 梦幻西游三维版怎么联系在线客服(梦幻西游三维版客服电话人工服务电话) 销售原材料结转成本的会计分录(销售原材料会计分录) 手机如何查询东莞住房公积金?(手机如何查询东莞住房公积金贷款额度) 呆萌宠物对对碰攻略(萌宠对决攻略) 工程招标代理资质取消通知(工程招标代理资质) 法定节假日加班工资怎么算(法定节假加班工资怎么计算) 驾照理论考试技巧和方法(驾照理论考试技巧和方法口诀) 黄花菜不能和什么食物同吃(黄花菜不能和什么食物一起吃) HTC G12刷recovery教程及进入recovery方法(htc如何进入recovery) b血型的人有什么特点男(b血型的人有什么特点) Sai软件手绘简笔画绿色环保机器人(SAI画画软件) Their是什么意思中文翻译怎么读(their是什么意思) 网上赚钱创业方法大全(网上赚钱创业方法大全套) 走路赚钱的几种方式(走路赚钱的几种方式是什么) 红龙鱼饲养方法(红龙草) 怎样增强抵抗力(怎样增强抵抗力和免疫力) qb怎么转给别人(怎么把qb给别人) 不是花中偏爱菊此花开尽更无花全诗拼音(不是花中偏爱菊此花开尽更无花全诗) 微信新功能"拍一拍"上线!(微信新功能朋友圈折叠) 现场仪表HART通讯如何接线(hart怎么接线) peacewarfound的英语怎么读(peace war find怎么读) q版泡泡堂6怎么换人(q版泡泡堂可以三人吗) 如何获得更多渠道商及他们的支持(如何获得更多渠道商及他们的支持英语) 作文那一次我失败了(作文那一次我真高兴) 围巾情人扣的织法(围巾情人扣的织法粗线) 悬崖上的金鱼公主国语版樱花动漫(悬崖上的金鱼公主国语版高清) 智能电视怎么看地方台频道直播 教你方法(智能电视怎么看地方台的频道) 初二英语周报所有答案大全(初二英语周报答案网) 篮球计分器 教你使用篮球计分器!(篮球计分器如何使用) 玉兔怎么画简单又漂亮(玉兔怎么画简单又漂亮图片) 项目措施费包干含后期签证吗(项目措施费包括哪些) 像粑粑一样恶心人(像粑粑一样恶心人的图片) PPT如何修改激光笔颜色(放映ppt时激光笔的颜色是可以更改的) 果绿色cmyk色值为多少(果绿色cmyk色值) 淘宝天猫如何设置店铺抽奖?(淘宝天猫如何设置店铺抽奖时间) 怎么设置浏览器的兼容模式(怎么设置浏览器的兼容模式手机) 台达VFD-B 3.7kW变频器维修方法(台达vfd—b变频器使用手册) 摩尔庄园手游农庄拍照任务流程(摩尔庄园手游庄园拍照任务) 医者仁心的经典语录(医者仁心是什么意思) 打好台球的小技巧(打好台球的小技巧和方法) 纸张方向只设置一页横向(纸张种类)
您的位置:首页 >综合精选 >

java++在前在后的区别(java 多线程)

导读 关于java++在前在后的区别,java 多线程这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!1、所要执

关于java++在前在后的区别,java 多线程这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!

1、所要执行的指令,也包括了执行指令所需的系统资源,不同进程所占用的系统资源相对独立。

2、所以进程是重量级的任务,它们之间的通信和转换都需要操作系统付出较大的开销。

3、 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。

4、线程自己基本上不拥有系统资源,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。

5、所以线程是轻量级的任务,它们之间的通信和转换只需要较小的系统开销。

6、 Java支持多线程编程,因此用Java编写的应用程序可以同时执行多个任务。

7、Java的多线程机制使用起来非常方便,用户只需关注程序细节的实现,而不用担心后台的多任务系统。

8、 Java语言里,线程表现为线程类。

9、Thread线程类封装了所有需要的线程操作控制。

10、在设计程序时,必须很清晰地区分开线程对象和运行线程,可以将线程对象看作是运行线程的控制面板。

11、在线程对象里有很多方法来控制一个线程是否运行,睡眠,挂起或停止。

12、线程类是控制线程行为的唯一的手段。

13、一旦一个Java程序启动后,就已经有一个线程在运行。

14、可通过调用Thread.currentThread方法来查看当前运行的是哪一个线程。

15、 class ThreadTest{ public static void main(String args[]){ Thread t = Thread.currentThread(); t.setName("单线程"); //对线程取名为"单线程" t.setPriority(8); //设置线程优先级为8,最高为10,最低为1,默认为5 System.out.println("The running thread: " + t); // 显示线程信息 try{ for(int i=0;i<3;i++){ System.out.println("Sleep time " + i); Thread.sleep(100); // 睡眠100毫秒 } }catch(InterruptedException e){// 捕获异常 System.out.println("thread has wrong"); } } } 多线程的实现方法 继承Thread类 可通过继承Thread类并重写其中的run()方法来定义线程体以实现线程的具体行为,然后创建该子类的对象以创建线程。

16、 在继承Thread类的子类ThreadSubclassName中重写run()方法来定义线程体的一般格式为: public class ThreadSubclassName extends Thread{ public ThreadSubclassName(){ ..... // 编写子类的构造方法,可缺省 } public void run(){ ..... // 编写自己的线程代码 } } 用定义的线程子类ThreadSubclassName创建线程对象的一般格式为: ThreadSubclassName ThreadObject = new ThreadSubclassName(); 然后,就可启动该线程对象表示的线程: ThreadObject.start(); //启动线程 应用继承类Thread的方法实现多线程的程序。

17、本程序创建了三个单独的线程,它们分别打印自己的“Hello World!”。

18、 class ThreadDemo extends Thread{ private String whoami; private int delay; public ThreadDemo(String s,int d){ whoami=s; delay=d; } public void run(){ try{ sleep(delay); }catch(InterruptedException e) System.out.println("Hello World!" + whoami + " " + delay); } } public class MultiThread{ public static void main(String args[]){ ThreadDemo t1,t2,t3; t1 = new ThreadDemo("Thread1", (int)(Math.random()*2000)); t2 = new ThreadDemo("Thread2", (int)(Math.random()*2000)); t3 = new ThreadDemo("Thread3", (int)(Math.random()*2000)); t1.start(); t2.start(); t3.start(); } } 实现Runnable接口 编写多线程程序的另一种的方法是实现Runnable接口。

19、在一个类中实现Runnable接口(以后称实现Runnable接口的类为Runnable类),并在该类中定义run()方法,然后用带有Runnable参数的Thread类构造方法创建线程。

20、 创建线程对象可用下面的两个步骤来完成: (1)生成Runnable类ClassName的对象 ClassName RunnableObject = new ClassName(); (2)用带有Runnable参数的Thread类构造方法创建线程对象。

21、新创建的线程的指针将指向Runnable类的实例。

22、用该Runnable类的实例为线程提供 run()方法---线程体。

23、 Thread ThreadObject = new Thread(RunnableObject); 然后,就可启动线程对象ThreadObject表示的线程: ThreadObject.start(); 在Thread类中带有Runnable接口的构造方法有: public Thread(Runnable target); public Thread(Runnable target, String name); public Thread(String name); public Thread(ThreadGroup group,Runnable target); public Thread(ThreadGroup group,Runnable target, String name); 其中,参数Runnable target表示该线程执行时运行target的run()方法,String name以指定名字构造线程,ThreadGroup group表示创建线程组。

24、 用Runnable接口实现的多线程。

25、 class TwoThread implements Runnable{ TwoThread(){ Thread t1 = Thread.currentThread(); t1.setName("第一主线程"); System.out.println("正在运行的线程: " + t1); Thread t2 = new Thread(this,"第二线程"); System.out.println("创建第二线程"); t2.start(); try{ System.out.println("第一线程休眠"); Thread.sleep(3000); }catch(InterruptedException e){ System.out.println("第一线程有错"); } System.out.println("第一线程退出"); } public void run(){ try{ for(int i = 0;i < 5;i++){ System.out.println(“第二线程的休眠时间:” + i); Thread.sleep(1000); } }catch(InterruptedException e){ System.out.println("线程有错"); } System.out.println("第二线程退出"); } public static void main(String args[]){ new TwoThread(); } } 程序运行结果如下: 正在运行的线程: Thread[第一主线程,5,main 创建第二线程 第一线程休眠 第二线程的休眠时间:0 第二线程的休眠时间:1 第二线程的休眠时间:2 第一线程退出 第二线程的休眠时间:3 第二线程的休眠时间:4 第二线程退出 另外,虚机团上产品团购,超级便宜。

本文分享完毕,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!

最新文章