首页 > 代码库 > 问题总结之多线程
问题总结之多线程
今天跟同事讨论了一下多线程并发问题,为了验证自己的想法,写了如下代码: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
还请南来北往的神牛们帮忙解释下哈~~~~~~~~~~~~~~~~~~
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。