Java Tread多线程(0)一个简单的多线程实例
作者 : 卿笃军
原文地址:http://blog.csdn.net/qingdujun/article/details/39341887
本文演示,一个简单的多线程实例,并简单分析一下线程。
编程多线程时,一般步骤:
1)继承Thread函数。
2)覆盖run函数。
注意:1)main函数为主线程,main里面存放的是主线程的运行代码;
Demo1为子线程,里面的run函数里面存放的是子线程须要运行的代码;当中,本文中主线程和子线程运行的优先级是一样的。
2)启动线程必须用start()启动,而不能直接调用run方法。
差别:①start() :开启线程,并执行run方法;(start会调用底层开启线程,Java本身不会开启一个线程,start肯定是调用了Windows底层的什么开启了线程,这里执行环境是Windows)
Demo1 demo1 = new Demo1();
demo1.start();
②run():相当于直接函数调用(主线程运行的run内容),子线程创建了,但没有开启并运行;(run的功能,不过为了封装线程运行的代码)
Demo1 demo1 = new Demo1();
demo1.run();
③局部变量,在每一个线程其中都有独立的一份。
Example: 一个简单的Demo例如以下:
package thread.demo1.qdj; class Demo1 extends Thread
{
public void run()
{
for (int x = 0; x < 50; ++x)
System.out.println("启动了线程Demo1");
}
} public class CThreadDemo1 { public static void main(String[] args) {
Demo1 demo1 = new Demo1();
demo1.start();
for (int x = 0; x < 50; ++x)
System.out.println("正在执行主线程");
}
}
执行结果显示:
一些简单的说明:
1)获得线程的名字:[注:currentThread()获取当前线程对象 ] ,下面两种写法是一样的。
class Demo1 extends Thread
{
public void run()
{
//System.out.println(this.getName());
System.out.println(Thread.currentThread().getName());
}
}
2)设置线程的名字
①编写构造函数
class Demo1 extends Thread
{
public Demo1(String name) {
//调用父类
super(name);
}
public void run()
{
//System.out.println(this.getName());
System.out.println(Thread.currentThread().getName());
}
}
②创建线程时传參
Demo1 demo1 = new Demo1("name1");
參考文献:Java视频 毕向东 主讲
原文地址:http://blog.csdn.net/qingdujun/article/details/39341887
Java Tread多线程(0)一个简单的多线程实例的更多相关文章
- 一个简单的多线程Python爬虫(一)
一个简单的多线程Python爬虫 最近想要抓取拉勾网的数据,最开始是使用Scrapy的,但是遇到了下面两个问题: 前端页面是用JS模板引擎生成的 接口主要是用POST提交参数的 目前不会处理使用JS模 ...
- C语言多线程的一个简单例子
多线程的一个简单例子: #include <stdio.h> #include <stdlib.h> #include <string.h> #include &l ...
- Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...
- 使用JAVA实现的一个简单IOC注入实例
https://blog.csdn.net/echoshinian100/article/details/77977823 欲登高而望远,勿筑台于流沙 RSS订阅 原 使用JAVA实现的一个简单IOC ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
- 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo
简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...
- 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement
本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...
随机推荐
- Linux下Apache PHP Mysql默认安装路径
Apache 假设採用RPM包安装.安装路径应在 /etc/httpd文件夹下 Apache配置文件: /etc/httpd/conf/httpd.conf Apache模块路径: /usr/sbin ...
- 流动python - 字符串KMP匹配
首先我们看一下简单的字符串匹配. 你可以把文本字符串s固定,模式字符串p从s对齐的左边缘,作为承担部分完全一致,匹配成功,失败将是模式字符串p整体向右1地点,继续检查对齐部分,重复. #朴素匹配 de ...
- 红黑树-Python实现
#coding:utf8 #author:HaxtraZ #description:红黑树,python实现 RED = 'red' BLACK = 'black' class RBT: def __ ...
- Hama学习总结
Hama学习笔记 1. Hama定义 Hama是基于HDFS上的BSP模型实现,其执行不须要MapReduce. 例证例如以下: 在单点调试的Hama系统上,仅仅执行NameNode.Da ...
- Linux C 编程内存泄露检測工具(二):memwatch
Memwatch简单介绍 在三种检測工具其中,设置最简单的算是memwatch,和dmalloc一样,它能检測未释放的内存.同一段内存被释放多次.位址存取错误及不当使用未分配之内存区域.请往http: ...
- windows server 搭建radius服务器
使用ISA 2004搭建PPTP/L2TP 服务器后,VPN账号是在radius服务器上的,使用window server 2003搭建radius服务器,需要添加组件->internet验证服 ...
- 调用微信退款接口时,证书验证出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法
1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应用程序池-->右击-->高级设置- ...
- hdu3804(树链剖分)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3804 题意:给定一棵n个结点的树及边权,回答m个询问(x,y)满足以下条件的边权: 1)该边在结点1~ ...
- HTML5 CSS3专题 纯CSS打造相冊效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30993277 今天偶然发现电脑里面还有这种一个样例.感觉效果还不错,不记得啥时候 ...
- c语言推断数是否是素数
这是推断数是否是素数.网络版非常.我觉得有点问题.今天一个朋友问我这个问题.我知道,今天,我把自己的代码,非常实用哦!. #include<stdio.h> #include<mat ...