标签:rri 延时 current 好的 dir 还需要 做了 设置 排队
格式:
class 类名称 implements Runnable{
属性;
方法;
public viod run(){
线程主体;
}
}
(3)增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;
2.线程一般具有5种状态,即创建、就绪、运行、阻塞、终止。
在程序中用构造方法创建一个线程对象之后,新的线程对象便处于新建状态。此时,他已经有了相应的内存空间和其他资源,但还处于不可以运行状态。新建一个线程对象可采用Thread类的构造方法实现,例如“Thread thread =new Thread()”。
新建线程对象之后,调用该线程的start()方法就可以启动线程。当启动线程是,线程进入就绪状态。此时,线程将进入线程队列排队,对待CPU服务,这表明他已经具备了运行条件;
当就绪的线程被调用并获得处理器资源时,线程就进入了运行状态。此时,自动调用该线程对象的run()方法。Run方法定义了该线程的操作和功能。
一个宅执行的线程在某些特殊情况下,如果被人为挂或需要执行耗时的输入输出操作时,会让出CPU并暂时中止自己的执行,进入堵塞状态。在可执行的情况下,如果调用sleep()、suspend()、wait()等方法,线程都将进入堵塞状态。堵塞时,线程不能进入排队队列,只有当堵塞的原因被消除之后,线程才可以转入就绪状态。
线程调用stop()方法时或run()方法执行结束后,即处于死亡状态。处于死亡状态的线程不具有继续运行的能力。
操作文件的类——File
在整个IO包中,唯一表示与文件本身有关的类就是File类,使用file类可以进行创建或删除文件等常用操作。
File类的构造方法:
public File(String pathname ) //实例化File类的时候,必须设置好路径。
import java.io.File;
public class File{
public static void main(String[] args) {
String path=“d:”+File.separator+”test.txt”;
File f=new File(path);
try{
createNewFile();
}catch(IOException e){
e.printStackTreace();
}
}
import java.io.File;
public class File{
public static void main(String[] args) {
String path=“d:”+File.separator+”test.txt”;
File f=new File(path);
if(f.exists()){
f.delete();
}else {
try{
createNewFile();
}catch(IOException e){
e.printStackTreace();
}
}
}
import java.io.File;
public class File{
public static void main(String[] args) {
String path=“d:”+File.separator+”test.txt”;
File f=new File(path);
f.makdir();
}
}
一周的学习还是比较有趣的,感觉想到了很多知识,课后用电脑实现了代码,自己创建了,文件,文件夹,删除以及列出文件目录;同时觉得Java学习也越来越难,知识点多起来了就需要去更好的掌握,所以自己还需要更加的努力。
完成火车站售票程序的模拟。
要求:
(1)总票数1000张;
(2)10个窗口同时开始卖票;
(3)卖票过程延时1秒钟;
(4)不能出现一票多卖或卖出负数号票的情况。
package shyseven;
class Ticket implements Runnable{
int ticket =1000;
@Override
public void run() {
while(ticket>0){
synchronized(this) {
if(ticket>0) {
try {
Thread.sleep(1000);
}catch(InterruptedException e) {
e.printStackTrace();
}
ticket--;
System.out.println(Thread.currentThread().getName()+"卖票一张:剩余tickets"+ticket+"张");
if(ticket<0) {
System.out.println("票已售完");
}
}
}
}
}
}
package shyseven;
public class Text {
public static void main(String[] args) {
Ticket str=new Ticket();
new Thread(str,"1号窗口").start();
new Thread(str,"2号窗口").start();
new Thread(str,"3号窗口").start();
new Thread(str,"4号窗口").start();
new Thread(str,"4号窗口").start();
new Thread(str,"5号窗口").start();
new Thread(str,"6号窗口").start();
new Thread(str,"7号窗口").start();
new Thread(str,"8号窗口").start();
new Thread(str,"9号窗口").start();
new Thread(str,"10号窗口").start();
}
}
标签:rri 延时 current 好的 dir 还需要 做了 设置 排队
原文地址:https://www.cnblogs.com/lyl68/p/11735448.html