Java Tread多线程(0)一个简单的多线程实例

本文演示,一个简单的多线程实例,并简单分析一下线程。

编程多线程时,一般步骤:

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");


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值