首页 > 编程语言 > 详细

问题总结之多线程

时间:2014-05-15 23:27:38      阅读:779      评论:0      收藏:0      [点我收藏+]
今天跟同事讨论了一下多线程并发问题,为了验证自己的想法,写了如下代码:
package com.zken.pkg;

public class MultiThread implements Runnable {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void run() {
		if (this.getName().equals("1")) {
			m1();
		}else if(this.getName().equals("2")){
			m2();
		}
	}

	private synchronized void m1() {
		try {
			Thread.sleep(1000 * 10);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("m1::::"+this.getName());
	}

	private void m2() {
		System.out.println("m2::::"+this.getName());
	}

	public static void main(String[] args) {
		MultiThread multiThread = new MultiThread();
		Thread thread1 = new Thread(multiThread);
		multiThread.setName("1");
		thread1.start();
		Thread thread2 = new Thread(multiThread);
		multiThread.setName("2");
		thread2.start();
	}
}

我预测的结果是:

m2::::2
m1::::2

实际结果:

m2::::2
m2::::2


还请南来北往的神牛们帮忙解释下哈~~~~~~~~~~~~~~~~~~

问题总结之多线程,布布扣,bubuko.com

问题总结之多线程

原文:http://blog.csdn.net/zkn_cs_dn_2013/article/details/25902239

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!