java笔记之线程方式1启动线程

* 需求:我们要实现多线程的程序。
 * 如何实现呢?
 *   由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来。
 *   而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。
 *   Java是不能直接调用系统功能的,所以,我们没有办法直接实现多线程程序。
 *   但是呢?Java可以去调用C/C++写好的程序来实现多线程程序。
 *   由C/C++去调用系统功能创建进程,然后由Java去调用这样的东西,
 *   然后提供一些类供我们使用。我们就可以实现多线程程序了。
 * 那么Java提供的类是什么呢?
 *   Thread
 *   通过查看API,我们知道了有2中方式实现多线程程序。
 *
 * 方式1:继承Thread类。
 * 步骤
 *   A:自定义类MyThread继承Thread类。
 *   B:MyThread类里面重写run()?
 *    为什么是run()方法呢?
 *   C:创建对象
 *   D:启动线程

run()和start()的区别?
  // run():仅仅是封装被线程执行的代码,直接调用是普通方法
  // start():首先启动了线程,然后再由jvm去调用该线程的run()方法。

 

 1 public class MyThreadDemo {
 2     public static void main(String[] args) {
 3         // 创建线程对象
 4         // MyThread my = new MyThread();
 5         // // 启动线程
 6         // my.run();
 7         // my.run();
 8         // 调用run()方法为什么是单线程的呢?
 9         // 因为run()方法直接调用其实就相当于普通的方法调用,所以你看到的是单线程的效果
10         // 要想看到多线程的效果,就必须说说另一个方法:start()
11         // 面试题:run()和start()的区别?
12         // run():仅仅是封装被线程执行的代码,直接调用是普通方法
13         // start():首先启动了线程,然后再由jvm去调用该线程的run()方法。
14         // MyThread my = new MyThread();
15         // my.start();
16         // // IllegalThreadStateException:非法的线程状态异常
17         // // 为什么呢?因为这个相当于是my线程被调用了两次。而不是两个线程启动。
18         // my.start();
19 
20         // 创建两个线程对象
21         MyThread my1 = new MyThread();
22         MyThread my2 = new MyThread();
23 
24         my1.start();
25         my2.start();
26     }
27 }
28 public class MyThread extends Thread {
29 
30     @Override
31     public void run() {
32         // 自己写代码
33         // System.out.println("好好学习,天天向上");
34         // 一般来说,被线程执行的代码肯定是比较耗时的。所以我们用循环改进
35         for (int x = 0; x < 200; x++) {
36             System.out.println(x);
37         }
38     }
39 
40 }
View Code

 

转载于:https://www.cnblogs.com/lanjianhappy/p/6383913.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全国职业院校技能大赛软件测试题目,我院荣获2017年全国职业院校技能大赛软件测试赛项一等奖...

6月6日&#xff0c;2017年全国职业院校技能大赛“软件测试”赛项在河南许昌落下帷幕&#xff0c;共有来自全国29个省市(自治区)的87支代表队261名选手参加比赛。由我院计算机系陈爽、张冬雪、侯博睿等三名同学组成的北京市第二代表队荣获大赛一等奖(第五名)。王红霞、温绍洁荣获…

ntp如何确认与服务器偏差_CentOS 8 启用 NTP 服务

NTP 服务是什么和为什么我们需要在我们的服务器启用 NTP 服务&#xff1f;可能很多人都不是非常了解&#xff0c;简单来说就是我们希望我们服务器的时间是准确的没有偏差的。这个的意义在数据插入和你程序取得计算机时间的时候是准确的。比如说在 java 中如果 new date() 将会获…

JavaFX上手--第1天

1.第一个JavaFX Application JavaFX 使用Java来制作可视化图形&#xff0c;可以做动画和3D效果&#xff0c;JavaFX从JDK中直接使用。 package application;import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene…

机制 linux_从一道面试题谈linux下fork的运行机制

今天一位朋友去一个不错的外企面试linux开发职位&#xff0c;面试官出了一个如下的题目&#xff1a;给出如下C程序&#xff0c;在linux下使用gcc编译&#xff1a;#include "stdio.h"#include "sys/types.h"#include "unistd.h"int main(){pid_t …

教学案例 计算机,宁夏计算机教学案例

宁夏计算机教学案例&#xff0c;答辩老师不仔细看**跟他们发现不了你**中的问题根本是两个概念。宁夏计算机教学案例&#xff0c; 生手指从未使用过计算机系统的学习者。他们不熟悉计算机的操作&#xff0c;缺乏有关计算机系统的知识。他们对计算机会产生一种陌生的感觉。新手指…

您在2016年会做什么? Apache Spark,Kafka,Drill等

让我们玩得开心。 这是新的一年的开始-我们正处于新事物的门槛上-因此让我们期待您在2016年可能会做的事情。现在我知道做出预测的风险&#xff0c;尤其是有记录的预测&#xff0c;但是我很高兴您能在一年后回访&#xff0c;看看我对2016年的预测是如何完成的。 您在2016年会…

话筒好坏测试软件,如何简单地判断麦克风的质量好坏?

如何简单地判断麦克风的质量好坏&#xff1f;麦克风质量好不好&#xff0c;主要看三点&#xff1a;咪芯&#xff0c;线材和外壳。在挑选麦克风时&#xff0c;我们通常都不会一一上手试用&#xff0c;而是通过它自身的规格参数来进行初步地判断&#xff0c;一般来说&#xff0c;…

怎么保证读取最新数据_Kafka怎么保证数据不丢失?

Kafka怎么保证数据不丢失&#xff1f;这个问题要从3个方面来保证数据不丢失&#xff1a;生产者、服务端、消费者。01producer 生产端是如何保证数据不丢失的1.ack的配置策略acks all (或-1)生产者在发送消息之后&#xff0c;需要等待ISR中所有的副本都成功写入消息之后才能够收…

怎么圆角变直角_衣柜设计个圆角有什么用?效果好看又实用,会这样装的都是老木工...

衣柜设计个圆角有什么用&#xff1f;效果好看又实用&#xff0c;会这样装的都是老木工随着生活水平的不断提高&#xff0c;大家对于生活质量也有着越来越高的期望。从生活起居以及房子的装修中&#xff0c;我们可以看出来。因此家里的东西堆积的也更加的多&#xff0c;这对于储…

浙大计算机硕士比本科985,二本出身的985研究生与985本科生,哪个更厉害?网友:差的太多!...

原标题&#xff1a;二本出身的985研究生与985本科生&#xff0c;哪个更厉害&#xff1f;网友&#xff1a;差的太多&#xff01;概率&#xff0c;还是概率问题。即便2本考研到985是很优秀&#xff0c;但能优秀到让985本科生服气的还是少数。说到底&#xff0c;是因为考研不是绝对…

5调用外部浏览器打开代码_浏览器事件循环

浏览器运行过程中会同时面对多种任务&#xff0c;用户交互事件(鼠标、键盘)、网络请求、页面渲染等。而这些任务不能是无序的&#xff0c;必须有个先来后到&#xff0c;浏览器内部需要一套预定的逻辑来有序处理这些任务&#xff0c;因此浏览器事件循环诞生了&#xff0c;再次强…

JVM上的高并发HTTP客户端

HTTP可能是最流行的应用程序级别协议&#xff0c;并且有许多库在网络I / O之上实现它&#xff0c;这是常规I / O的一种特殊&#xff08;面向流&#xff09;情况。 由于所有I / O都有很多共同点1 &#xff0c;所以让我们开始对其进行一些讨论。 我将集中讨论具有大量并发HTTP请…

win10系统卷影复制服务器,如何使用Windows卷影拷贝服务恢复文件和文件夹

本文介绍了如何使用Windows卷影拷贝服务恢复文件和文件夹&#xff0c;分享给大家&#xff0c;具体如下&#xff1a;什么是卷影拷贝&#xff1f;从Windows XP SP2和Windows Server 2013开始&#xff0c;微软就向Windows操作系统中引入了一项名叫卷影拷贝的服务(Volume Shadow Co…

Nginx下配置Http Basic Auth

nginx basic auth指令 第一条语句&#xff1a; 语法: auth_basic string | off;默认值: auth_basic off;配置段: http, server, location, limit_except 默认表示不开启认证&#xff0c;后面如果跟上字符&#xff0c;这些字符会在弹窗中显示。 第二条语句&#xff…

服务器多核性能排行,服务器内存多核性能

服务器内存多核性能 内容精选换一换本文介绍了弹性云服务器ECS的功能发布和对应的文档动态&#xff0c;新特性将在各个区域(Region)陆续发布&#xff0c;欢迎体验。关于弹性云服务器(ECS)更多历史版本变更内容&#xff0c;请单击“查看PDF”详细了解。超高I/O型弹性云服务器使用…

从去除毛刺的策略看开运算opening_circle和闭运算closing_circle的异同

例一&#xff1a;毛刺在往外凸的面上 策略1&#xff1a;分割出黑色部分&#xff0c;然后通过开运算去掉毛刺&#xff0c;再通过原黑色部分区域减去开运算之后的区域&#xff0c;得到毛刺部分的区域。 1 read_image (Tu, C:/Users/xiahui/Desktop/tu.jpg) 2 binary_threshold (…

买服务器带操作系统,买服务器带操作系统

买服务器带操作系统 内容精选换一换只有运行中的弹性云服务器才允许用户登录。Linux操作系统用户名“root”。忘记密码&#xff0c;请先通过“重置密码”功能设置登录密码。重置密码&#xff1a;选中待重置密码的云耀云服务器&#xff0c;并选择“操作”列下的“ 重置密码”。重…

自定义sql_【PL/SQL 自定义函数】 常用场景

看完这章后你会学习到以下内容&#xff1a;1.练习场景2.面试场景3.工作应用场景总览思维导图&#xff1a;面试部分&#xff1a;1.创建函数,从emp表中查询指定员工编号的职工的工资CREATE OR REPLACE FUNCTION CHECK_SAL(F_EMPNO IN EMP.EMPNO%TYPE) RETURN NUMBER ISV_SAL VARC…

进阶– Java EE 7前端5强

系列继续。 在初步概述和Arjan关于最重要的后端功能的文章之后 &#xff0c;我现在非常高兴让Ed Burns&#xff08; edburns &#xff09;使用他最喜欢的Java EE 7前端功能完成本系列。 感谢Markus Eisele让我有机会在他非常受欢迎的博客上发表帖子。 我和Markus的关系可以追溯…

一杯水怎么测试_一杯水就能鉴别翡翠真假的高招

大家好&#xff0c;小生有礼&#xff01;鄙人是秋玉蝉珠宝的杨杨&#xff0c;很高兴能在茫茫互联网中相识就是有缘。先简单介绍一下秋玉蝉珠宝&#xff0c;我们是年轻的品牌&#xff0c;我们的理念一直秉承坚持做真翡翠&#xff0c;好翡翠&#xff0c;把握翡翠的精髓&#xff0…