当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Java多线程如何创建多个线程
发布时间:2011/1/5 10:28:36 来源:城市学习网 编辑:ziteng
  Java多线程的同步依靠的是对象锁机制,这个问题需要我们不断的学习相关的问题。下面我们就来详细的学习下如何才能更好的进行具体内容的使用。synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。
  下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间不会出现交叉乱序打印,而是顺序地打印。
  先来看第一段代码,这里我们在run()方法中加入了synchronized关键字,希望能对run方法进行互斥访问,但结果并不如我们希望那样,这是因为这里synchronized锁住的是this对象,即当前运行线程对象本身。Java多线程代码中创建了10个线程,而每个线程都持有this对象的对象锁,这不能实现线程的同步。
  Java多线程代码如下
  1.package com.vista;
  2.class MyThread implements java.lang.Runnable
  3.{
  4.private int threadId;
  5.public MyThread(int id)
  6.{
  7.this.threadId = id;
  8.}
  9.@Override
  10.public synchronized void run()
  11.{
  12.for (int i = 0; i < 100; ++i)
  13.{
  14.System.out.println("Thread ID: " + this.threadId + " : " + i);
  15.}
  16.}
  17.}
  18.public class ThreadDemo
  19.{
  20./**
  21.* @param args
  22.* @throws InterruptedException
  23.*/
  24.public static void main(String[] args) throws InterruptedException
  25.{
  26.for (int i = 0; i < 10; ++i)
  27.{
  28.new Thread(new MyThread(i)).start();
  29.Thread.sleep(1);
  30.}
  31.}
  32.}
  以上就是对Java多线程的详细代码介绍。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved