多个Java线程拨号器同时申请号码不重复,断电后能恢复.但是在使用的时候需要我们注意很多的代码编写。下面我们就来详细的看看如何才能更好的进行相关的学习。希望大家有所收获。以下就是对Java线程拨号器的相关问题介绍。
目前成都创新互联公司已为1000+的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、龙潭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
比如:
线程1 : 1, 4, 5, 6, 8, 9, 14…
线程2 : 2, 3, 7, 10, 11, 12, 13…
- package org.leno.j2se.lesson3.multiThread;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- /**
- * @author leno
- * 一个简单的放号器, 多个线程同时申请号码不重复,断电后能恢复.
- */
- public class SendCode implements Runnable{
- //号码
- int code = 0;
- RandomAccessFile raf = null;
- //初始化块
- {
- try {
- raf = new RandomAccessFile("sendCode.txt","rw");
- code = raf.readInt();
- System.out.println("恢复上次记录:"+code);
- } catch (FileNotFoundException e) {
- System.out.println("文件找不到!");
- }catch (IOException e) {
- System.out.println("没有合适的整数值");
- }
- }
- public void run() {
- while(true){
- synchronized (this) {
- try {
- Thread.sleep(300);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- code++;
- try {
- raf.seek(0);//从文件开头以字节为单位测量的偏移量位置,在该位置设置文件指针
- raf.writeInt(code);//从文件指针的当前位置开始写
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println(Thread.currentThread().getName()+"申请到号码:"+code);
- }
- }
- }
- public static void main(String[] args) {
- SendCode sc = new SendCode();
- new Thread(sc,"一号线程").start();
- new Thread(sc,"二号线程").start();
- new Thread(sc,"三号线程").start();
- new Thread(sc,"四号线程").start();
- }
- }
以上就是对Java线程拨号器的详细代码介绍。
【编辑推荐】
标题名称:Java线程拨号器如何进行代码编写
本文地址:http://www.shufengxianlan.com/qtweb/news25/492775.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联