当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Java线程拨号器如何进行代码编写
发布时间:2010/5/12 11:44:16 来源:城市学习网 编辑:ziteng
  多个Java线程拨号器同时申请号码不重复,断电后能恢复.但是在使用的时候需要我们注意很多的代码编写。下面我们就来详细的看看如何才能更好的进行相关的学习。希望大家有所收获。以下就是对Java线程拨号器的相关问题介绍。
  比如:
  线程1 : 1, 4, 5, 6, 8, 9, 14…
  线程2 : 2, 3, 7, 10, 11, 12, 13…
  1.package org.leno.j2se.lesson3.multiThread;
  2.import java.io.FileNotFoundException;
  3.import java.io.IOException;
  4.import java.io.RandomAccessFile;
  5./**
  6.* @author leno
  7.* 一个简单的放号器, 多个线程同时申请号码不重复,断电后能恢复.
  8.*/
  9.public class SendCode implements Runnable{
  10.//号码
  11.int code = 0;
  12.RandomAccessFile raf = null;
  13.//初始化块
  14.{
  15.try {
  16.raf = new RandomAccessFile("sendCode.txt","rw");
  17.code = raf.readInt();
  18.System.out.println("恢复上次记录:"+code);
  19.} catch (FileNotFoundException e) {
  20.System.out.println("文件找不到!");
  21.}catch (IOException e) {
  22.System.out.println("没有合适的整数值");
  23.}
  24.} [NextPage]   25.public void run() {
  26.while(true){
  27.synchronized (this) {
  28.try {
  29.Thread.sleep(300);
  30.} catch (InterruptedException e) {
  31.// TODO Auto-generated catch block
  32.e.printStackTrace();
  33.}
  34.code++;
  35.try {
  36.raf.seek(0);//从文件开头以字节为单位测量的偏移量位置,在该位置设置文件指针
  37.raf.writeInt(code);//从文件指针的当前位置开始写
  38.} catch (IOException e) {
  39.// TODO Auto-generated catch block
  40.e.printStackTrace();
  41.}
  42.System.out.println(Thread.currentThread().getName()+"申请到号码:"+code);
  43.}
  44.}
  45.}
  46.public static void main(String[] args) {
  47.SendCode sc = new SendCode();
  48.new Thread(sc,"一号线程").start();
  49.new Thread(sc,"二号线程").start();
  50.new Thread(sc,"三号线程").start();
  51.new Thread(sc,"四号线程").start();
  52.}
  53.}
  以上就是对Java线程拨号器的详细代码介绍。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved