Java线程拨号器如何进行代码编写

开发 后端
Java线程拨号器如何才能更好的使用相关的代码,我们就在学习的时候需要注意源代码的编写。下面我们就看看如何才能更好的使用。

多个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. }  
  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. }  

 

 

以上就是对Java线程拨号器的详细代码介绍。

【编辑推荐】

  1. Java多线程中Message类和Queue类的使用方法
  2. Java多线程如何防止主线的阻塞
  3. Java多线程中wait语句的具体使用方法
  4. Java多线程如何解决关键字封锁问题
  5. Java多线程如何创建多个线程
责任编辑:张浩 来源: 互联网
相关推荐

2011-05-30 16:24:09

Android 拨号器

2010-02-03 13:55:51

Python 代码

2010-03-16 14:41:06

Java Runnab

2010-03-18 19:39:44

Java Socket

2010-03-16 13:47:48

Java多线程服务器

2010-02-01 17:33:24

Python主线程

2010-02-02 16:47:12

Python主线程

2010-03-16 18:59:15

Java Runnab

2010-03-16 17:39:36

Java多线程锁

2010-03-17 18:21:54

Java多线程静态数据

2010-05-28 12:55:23

2010-03-10 19:34:45

Python主线程

2024-02-22 10:27:00

Python开发

2011-07-13 13:13:10

域控制器活动目录

2010-07-07 10:25:46

路由器协议

2010-03-01 11:06:52

Python 调试器

2014-07-15 10:59:58

Spark代码跟读

2010-03-12 17:35:00

Python字符串

2012-10-15 09:30:04

CSSDIVWeb

2011-07-25 10:48:34

服务器虚拟服务器
点赞
收藏

51CTO技术栈公众号