Java 使用匿名类创建线程时 无法调用start() 如何开启进程
    new Runnable (){
        public void run(){
            for ( int i = 0 ; i < 10 ; i ++ )
                System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }.**start()**;

    new Thread (){
        public void run(){
            for ( int i = 0 ; i < 10 ; i ++ )
                System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }.start();

3个回答

问题已经解决,Runnable的实现作为参数就可以创建进程了。学艺不精,见笑了。

new Thread (
new Runnable (){
public void run(){
for ( int i = 0 ; i < 10 ; i ++ )
System.out.println(Thread.currentThread().getName()+":"+i);
}
}).start();

两种方法:
1.使用Thread thread = new Thread(Runnable task)
thread.start();//这是使用Thread的有参构造函数
2.使用线程池
ExecutorService service = Executors.newFixedThreadPool(10);//10表示启动的线程个数
service.execute(Runnable task);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
匿名类创建线程
我们常用Thread类和Runnable接口来创建线程,重写run()方法,启动线程......但是有些麻烦,匿名类创建线程就比较简洁方便了,而匿名类创建线程也分为两种(1)继承Thread类的匿名类public class Test1 { public static void main(String[] args) { Thread thread = new Threa...
java 如何开启一个线程 创建线程类
为什么要开线程? Java程序执行是从main入口进入,然后根据main函数里面的程序的顺序从上到下执行,执行到最后,就关闭了程序! 如果我们想让程序一直开着,接收数据或者发送数据的话,就需要用到线程! 开启单个线程的两种方法 查询java的api文档 Thread类就是线程类,new Thread().start();就是开启线程 这个类之所以能够具备这样的方法,不是特有的...
java内部匿名类如何调用外部类的方法?
java内部匿名类如何调用外部类的方法?外部类的这个方法是继承父类的。
Java 调用外部程序,开启一个新的进程
背景:java 支持多线程,这是绝大多数程序都满足的必要条件,因为多线程个可以增加程序的“吞吐量”,提高用户对软件的流畅性体验。             同时,java程序也支持开启新的进程,或者叫做java调用外部应用程序。这里的实现方式java提供了两个类:Process、RunTime。             这些类之间的关系:             1.通过ProcessBuilder...
Java匿名类如何反编译
今天尝试的去反编译一下匿名类,结果发现反编译不成功,那么匿名类该如何反编译啊?rnrn反编译工具:[color=#FF0000]jd-gui[/color] rnrn[img=https://img-bbs.csdn.net/upload/201604/05/1459841103_378090.png][/img]rnrn[color=#FF0000][b] 反编译结果:[/b][/color]rnXmlConverter.class :rn[code=java]package com.alipay.api.internal.parser.xml;rnrnimport com.alipay.api.AlipayApiException;rnimport com.alipay.api.AlipayResponse;rnimport com.alipay.api.internal.mapping.Converter;rnimport com.alipay.api.internal.mapping.Converters;rnimport com.alipay.api.internal.mapping.Reader;rnimport com.alipay.api.internal.util.XmlUtils;rnimport java.text.DateFormat;rnimport java.text.ParseException;rnimport java.text.SimpleDateFormat;rnimport java.util.ArrayList;rnimport java.util.Date;rnimport java.util.List;rnimport org.w3c.dom.Element;rnrnpublic class XmlConverterrn implements Converterrnrn public T toResponse(String rsp, Class clazz)rn throws AlipayApiExceptionrn rn Element root = XmlUtils.getRootElementFromString(rsp);rn return (AlipayResponse)getModelFromXML(root, clazz);rn rn rn private T getModelFromXML(final Element element, Class clazz)rn throws AlipayApiExceptionrn rn if (element == null) rn return null;rn rn Converters.convert(clazz, new Reader()rn rn public boolean hasReturnField(Object name)rn rn Element childE = XmlUtils.getChildElement(element, (String)name);rn return childE != null;rn rn rn public Object getPrimitiveObject(Object name)rn rn return XmlUtils.getElementValue(element, (String)name);rn rn rn public Object getObject(Object name, Class type)rn throws AlipayApiExceptionrn rn Element childE = XmlUtils.getChildElement(element, (String)name);rn if (childE != null) rn return XmlConverter.this.getModelFromXML(childE, type);rn rn return null;rn rn rn public List getListObjects(Object listName, Object itemName, Class subType)rn throws AlipayApiExceptionrn rn List list = null;rn Element listE = XmlUtils.getChildElement(element, (String)listName);rn if (listE != null)rn rn list = new ArrayList();rn List itemEs = XmlUtils.getChildElements(listE, (String)itemName);rn for (Element itemE : itemEs)rn rn Object obj = null;rn String value = XmlUtils.getElementValue(itemE);rn if (String.class.isAssignableFrom(subType))rn rn obj = value;rn rn else if (Long.class.isAssignableFrom(subType))rn rn obj = Long.valueOf(value);rn rn else if (Integer.class.isAssignableFrom(subType))rn rn obj = Integer.valueOf(value);rn rn else if (Boolean.class.isAssignableFrom(subType))rn rn obj = Boolean.valueOf(value);rn rn else if (Date.class.isAssignableFrom(subType))rn rn DateFormat format = new SimpleDateFormat(rn "yyyy-MM-dd HH:mm:ss");rn tryrn rn obj = format.parse(value);rn rn catch (ParseException e)rn rn throw new AlipayApiException(e);rn rn rn elsern rn obj = XmlConverter.this.getModelFromXML(itemE, subType);rn rn if (obj != null) rn list.add(obj);rn rn rn rn return list;rn rn );rn rn[/code]rnXmlConverter$1.class:rn[code=java]package com.alipay.api.internal.parser.xml;rnrnimport com.alipay.api.AlipayApiException;rnimport com.alipay.api.internal.mapping.Reader;rnimport com.alipay.api.internal.util.XmlUtils;rnimport java.text.DateFormat;rnimport java.text.ParseException;rnimport java.text.SimpleDateFormat;rnimport java.util.ArrayList;rnimport java.util.Date;rnimport java.util.List;rnimport org.w3c.dom.Element;rnrnfinal class XmlConverter$1rn implements Readerrnrn XmlConverter$1(XmlConverter paramXmlConverter, Element paramElement) rn rn public boolean hasReturnField(Object name)rn rn Element childE = XmlUtils.getChildElement(this.val$element, (String)name);rn return childE != null;rn rn rn public Object getPrimitiveObject(Object name)rn rn return XmlUtils.getElementValue(this.val$element, (String)name);rn rn rn public Object getObject(Object name, Class type)rn throws AlipayApiExceptionrn rn Element childE = XmlUtils.getChildElement(this.val$element, (String)name);rn if (childE != null) rn return XmlConverter.access$0(this.this$0, childE, type);rn rn return null;rn rn rn public List getListObjects(Object listName, Object itemName, Class subType)rn throws AlipayApiExceptionrn rn List list = null;rn Element listE = XmlUtils.getChildElement(this.val$element, (String)listName);rn if (listE != null)rn rn list = new ArrayList();rn List itemEs = XmlUtils.getChildElements(listE, (String)itemName);rn for (Element itemE : itemEs)rn rn Object obj = null;rn String value = XmlUtils.getElementValue(itemE);rn if (String.class.isAssignableFrom(subType))rn rn obj = value;rn rn else if (Long.class.isAssignableFrom(subType))rn rn obj = Long.valueOf(value);rn rn else if (Integer.class.isAssignableFrom(subType))rn rn obj = Integer.valueOf(value);rn rn else if (Boolean.class.isAssignableFrom(subType))rn rn obj = Boolean.valueOf(value);rn rn else if (Date.class.isAssignableFrom(subType))rn rn DateFormat format = new SimpleDateFormat(rn "yyyy-MM-dd HH:mm:ss");rn tryrn rn obj = format.parse(value);rn rn catch (ParseException e)rn rn throw new AlipayApiException(e);rn rn rn elsern rn obj = XmlConverter.access$0(this.this$0, itemE, subType);rn rn if (obj != null) rn list.add(obj);rn rn rn rn return list;rn rn[/code]rnrn反编译出来的结果都会报错,看的一头雾水啊,没有$的那个class反编译出来后,缺少return;而$1.class反编译生成的java类中对象都成了object,还有方法,变量都带有$。
如何使用Java Web Start
我安装了一个j2sdk后,同时装上了一个JAVA WEB START,不知道如何使用,哪位高手愿意赐教,我每次都是在记事本中编辑,然后在j2sdk\bin中运行
10.02-创建线程和开启线程
初级JavaSE入门视频教程
control.invoke里面如何调用匿名类
我想写一个匿名方法,在Control.invoke里面rnthis.Invoke(delegate this.button1.Enabled = false; );rnrn编译出来两个错误:rn1.rnThe best overloaded method match for 'System.Windows.Forms.Control.Invoke(System.Delegate)' has some invalid argumentsrn2.rnArgument '1': cannot convert from 'anonymous method' to 'System.Delegate'rnrn请高手指教
如何开启Internat进程?
我的电脑不知道出了什么毛病,Internat这个进程启动不了了,不能看见桌面、任务栏,只有一个浏览器。不知道各位大虾有没有办法不用重装系统就让它启动?
start开启服务的生命周期
生命周期方法:     1.onCreate:在服务对象创建后调用这个方法,初始化服务对象;     2.onStartCommand:开启服务后调用这个方法;     3.onDestroy:在服务对象被销毁之前调用这个方法,通常在这个方法中做一些扫尾工作,比如保存数据;     特点:        1.第一次开启服务时,先创建服务对象,然后再开启:调用的方法onCreate,onS
创建线程时,也创建了新进程?
我pthread_create创建线程时,在线程函数中getpid()获取的进程号与在main中获取的进程号不同,难道又创建了个rn进程?但是用ps -aux也查不到该进程号...不是说fork()是惟一能够创建进程的函数吗?rn代码如下:rn[code=C/C++]rn#include rn#include rn#include rnrnvoid *thread(void *arg)rnrn pthread_t newthid;rn //unsigned long int newthid;rn newthid=pthread_self();rn printf("new thread1,thread1 ID=%lu\n",newthid);rn printf("PID=%d,PPID=%d\n",getpid(),getppid());rn for(;;); rn return NULL;rnrnint main(void)rnrn pthread_t thid;rn printf("main thread ID=%lu\n",pthread_self());rn printf("main PID=%d,main PPID=%d\n",getpid(),getppid());rn if(pthread_create(&thid,NULL,(void*)thread,NULL)!=0)rn printf("thread creation failed\n");rn exit(1);rn rn pthread_exit(0); rnrn[/code]rnrn结果如下:rnmain thread ID=16384rnmain PID=3081,main PPID=1888rnnew thread1,thread1 ID=16386rnPID=3083,PPID=3082rnrnrn
开启动画用start
1、开启动画的时候,要view.startAnimation(anim); 2、如果是view.setAnimation()则点击按钮无法产生动画; 3、但是如果不点击产生动画效果,就可以用set。
java匿名类
各位,我是一名大二的学生,学的是计算机专业,这一学期我们开了java课程,但是老师讲的java匿名类,我有点不懂。能不能详细讲解一下啊。谢谢!
start方式开启服务
android中的start开启服务的作用在学习服务之前,我们不得不先解释一下进程的概念,进程就是系统为该应用运行时开启了一个进程同时单独开启的一个线程来运行该应用,通常该线程被称为主线程,又叫UI线程。进程:是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。android下四大组件都是运行在主线
java 内部类使用(内部匿名类)
java 成员内部类使用 内部匿名类 方法参数匿名类 方法匿名类
net start mssqlserver无法使用
[img=http://hiphotos.baidu.com/zhidao/pic/item/1c950a7ba17ff3c90ad187d1.jpg][/img]rn该怎么办?
匿名类的使用
public class AAArn public void Method(String aaa)rn System.out.println(aaa);rn rnrn public static void main(String[] args)rn String str="hello";rnrn new AAA()rn public void Method(String aaa) rn super.Method(aaa);rn rn ;rn rnrnrn我想用匿名类打印出str,怎么打印?我的问题也就是,匿名类中的Method中的参数aaa怎么赋值,如果不能赋值的话,那么super.Method(aaa);这句话是eclipse自动生成的,那么把子类的Method的行参aaa传递到父类中的super.Method(aaa);还有什么用处呢?
JAVA 匿名类
匿名类和子类有关的匿名类    假如没有显式地声明一个类的子类,而又想用子类创建一个对象,那么该如何实现这一目的呢?Java允许我们直接使用一个类的子类的类体创建一个子类对象,也就是说,创建子类对象时,除了使用父类的构造方法体外还有类体,此类体被认为是一个子类去掉类声明后的类名,称作匿名类。匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,却可以直接用匿名类创建个对象。假设Bank是类...
Java的匿名类
package cn.zzx; public class ClassA { int a = 11; void test(){ //重写父类方法 System.out.println(&quot;输出...&quot;); } } package cn.zzx; public class ClassB extends ClassA { void test(){ ...
Java匿名类
Java中的匿名类简述 原理以及使用目的不再赘述,这里只举个例子 当我们实现一个接口的时候,往往声明一个类,例如 /**A comparsion function that imposes a total ordering on some objects *...*/ public interface Comparator&lt;T&gt; { /** Compares its two ar...
java 匿名类
Properties p = new Properties(); rn p.setProperty("lastdir", "c:\\tmp"); rn p.store(new FileOutputStream("myProperties.txt"), null); rn定义了一个匿名对象new FileOutputStream("myProperties.txt"),没有名字怎么关闭FileOutputStream啊
Java并发编程:如何创建线程
一.如何创建线程 1.实现java.lang.Runnable 接口 public interface Runnable{ public abstract void run(); }     2.继承java.lang.Thread 类     源码: public class Thread extends Object implements Runnable{ ...
JAVA中如何创建线程?创建线程的两种方式
目录   一.Java中关于应用程序和进程相关的概念 二.Java具有的五种状态 三.Java中如何创建线程?创建线程的四种方式的区别 一.Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即...
java的匿名类
  今天做一个小练习的时候遇到一个不常注意的问题。 问题描述: 调用一个方法,方法名为executeQueryForInteger(String sql, Object... params) 因为用不到第二个参数于是就构造一个空的对象数组 调用的时候写成了如下,super.executeQueryForInteger(sql, new Object(){}); 编译无错,但运行出错。 ...
Java 匿名类
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 说的不对还请拍砖 //////////////////////////////////////////////////////
创建线程变进程
奇怪问题请教,创建线程变进程rn测试序如下:rnrn(1)创建2个线程,结果得到4个进程rn(2)PS结果rn(3)在arm开发板上出现,在PC机上完全正常rn(4)是否与编译器有关,还是与内核核心有关rnrnrn~ $ psrn PID Uid VmSize Stat Commandrn 1 root 360 S init rn 2 root SW< [kthreadd]rn 3 root SW< [ksoftirqd/0]rn 4 root SW< [events/0]rn 5 root SW< [khelper]rn 34 root SW< [kblockd/0]rn 37 root SW< [cqueue/0]rn 41 root SW< [ata/0]rn 42 root SW< [ata_aux]rn 50 root SW< [khubd]rn 53 root SW< [kseriod]rn 73 root SW [pdflush]rn 74 root SW [pdflush]rn 75 root SW< [kswapd0]rn 76 root SW< [aio/0]rn 163 root SW< [mtdblockd]rn 225 root 652 S < udevd --daemon rn 235 root SW< [rpciod/0]rn 264 root SW< [hieth_skber]rn 266 root SWN [jffs2_gcd_mtd3]rn 268 root SWN [jffs2_gcd_mtd4]rn 270 root SWN [jffs2_gcd_mtd5]rn 272 root SWN [jffs2_gcd_mtd6]rn 305 root SW< [scsi_eh_0]rn 308 root SW< [scsi_eh_1]rn 686 root 556 S -sh rn 846 root SW< [kjournald]rn 849 root SW< [kjournald]rn 856 root SW< [kjournald]rn 859 root SW< [kjournald]rn 1320 root 228 S telnetd rn 1330 root 456 S -sh rn 1338 root 272 S ./example rn 1339 root 272 S ./example rn 1340 root 272 S ./example rn 1341 root 272 S ./example rn 1345 root 356 R ps rnrnrnrn原代码如下:rnrn#include rn#include rnrnvoid * pthread_func_test1(void * arg);rnvoid * pthread_func_test2(void * arg);rnrnint main()rnrn pthread_t pt1,pt2;rn pthread_create(&pt1,NULL,pthread_func_test1,"This is the Thread_ONE");rn pthread_create(&pt2,NULL,pthread_func_test2,"This is the Thread_TWO");rn printf("\npid:%d\n", getpid());rn pthread_join(pt1,NULL);rn pthread_join(pt2,NULL); //这行不写,会发生什么?或写成pthread_join(pt1,NULL);又会怎么样?rnrnrnvoid * pthread_func_test1(void * arg)rnrn while(1)rn rn printf("\n<1>%d",getpid());rn sleep(1);rn rn pthread_exit(NULL); //显式声明rnrnvoid * pthread_func_test2(void * arg)rnrn while(1)rn rn sleep(1); rn printf("\n<2>%d",getpid());rn rnrn pthread_exit(NULL); //显式声明rnrn
Java多线程(创建线程的三种方式、线程与进程)
Java多线程 一、进程与线程 程序:程序是指令和数据的有序集合,其本身没有任何运 行的含义,是一个静态的概念 进程:进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位 。当一个程序进入内存运行时,就变成了一个进程 线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程 三者关系:简而言之,一个程序运行后至少有一个进程,一个进程里可以包含多个线程,但至少包含...
CreateThread 创建线程时 如何传递参数
当我用 CreateThread 创建一个线程:rnCall CreateThread(Null, ByVal O&, AddressOf Module1.threadRun, VarPtr(0), ByVal 0&, ThreadID(i))rnrn我应该如何 给 函数 Module1.threadRun 带一个参数呢?rnrnrn比如 函数 Module1.threadRun :rnrnPublic Sub threadRun (id as Integer)rnrn ……rnrnEnd subrnrnrnsub 的参数 id ,如何在 CreateThread 时带给线程?rn谢谢!
开启服务的方式:(1)start开启服务
start开启服务public class MainActivity extends Activity implements OnClickListener{ private Button button1, button2; protected void onCreate(Bundle savedInstanceState) { super.onCreate(save
调用匿名类实例的匿名函数?
假如想调用匿名类实例的匿名函数, 可能实现么?rnrn我是想实现类似这样的效果(以下是伪代码)rnrn添加监听rnSomeClass obj;rnui_engine.add_event_listener((void *)&obj, &SomeClass::onclick);rn...rn监听被调用rnli = listeners["click"]rn(li.obj->*li.method)(event);rn...rnrn希望能向 adde_vent_listener 传入不同类的成员函数用于监听,唯一不变的就是函数的形参表相同rnrn对于普通函数这很容易实现rntypedef void (*EventListenerFn)(Event&);rn这样就可以传递或调用匿名函数,那么进一步,出于面向对象的目的,调用匿名类的匿名函数能否实现呢?
如何开启20个子进程?
谁知道如何一下子fork开启20个子进程,然后让它们都挂起,等到主进程要哪个进程起来就哪个进程起来?rnrn需要代码!
使用OpenProcess打开进程时,为什么有的进程无法打开
EnumProcesses((DWORD *)pids, 1024*sizeof(DWORD), &count );rn::OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,pids[i]);rnrngetlasterror为 0x00000005 拒绝访问。 rnrn既然有权限限制,那其他的应用也应该不能打开才对,但Windows的任务管理器,以及Process Explorer都能列出所有进程,是不是用户权限问题?可当前登录用户为administrator的权限!请高手指教rn
桌面显示进程如何开启
小弟我把桌面显示进程给关了!不知道如何打开,请各位GG帮忙解决一下!!!谢谢啊!!!!
DLL无法创建线程,什么原因?
procedure TForm1.FormCreate(Sender: TObject);rnvarrnGhwnd:hwnd;rnbeginrn Ghwnd:=FindWindow('ZClient Window','祈祷');rn GetWindowThreadProcessID(Ghwnd,@dwProcId); //获得进程IDrn mytest:=testr.Create(false); //创建mytest线程rnrnend;rnrnrn[color=#FF0000]mytest:=testr.Create(false); //创建mytest线程[/color]rn创建线程代码失效了一样,没创建线程,原因不知道呀rnrnrn而rnprocedure TForm1.Button1Click(Sender: TObject);rnbeginrnmytest:=testr.Create(false);rnend;rnrn把创建线程的代码放到Button中却没问题。。原因何在?请赐教。谢谢。rn
无法继续创建线程
program thread;rnusesrn windows;rnvar tport:word;rn i,j:word;rn hc,s:handle;rnprocedure hchc(p:pointer);stdcall;rnbeginrnWaitForSingleObject(hc,INFINITE);rnj:=j+1;rnwriteln(j);rnReleaseMutex(hc);rnend;rn beginrn hc:=CreateMutex(nil,true,'aaa');rn for i:=1 to 256 dorn beginrn CreateThread(nil,0,@hchc,@i,0,ThreadID);rn end;rn while j<>256 dorn beginrn end;rn WaitForSingleObject(hc,INFINITE);rn writeln('xxxxxxxxxxx');rn ReleaseMutex(hc);rn CloseHandle(hc);rn readln;rnend.rn不是每次都能创建256,再多点也不行了,为什么,是不是没设置好
为什么无法创建线程,,,
[code=C/C++]void CallMyClone(char* map, int layer,int *curLigneNum, int *curcoloneNum, int *curHgNum, int *curHdNum)rnrn BYTE* memory = new BYTE[N*M+sizeof(layer)+N+M+(N+M-1)*2];rn memcpy(memory,map,N*M);rn memcpy(memory+N*M,&layer,sizeof(layer));rn memcpy(memory+N*M+sizeof(layer),curLigneNum, N*sizeof(int));rn memcpy(memory+N*M+sizeof(layer)+N*sizeof(int),curcoloneNum, M*sizeof(int));rn memcpy(memory+N*M+sizeof(layer)+N*sizeof(int)+M*sizeof(int),curHgNum,(N+M-1)*sizeof(int));rn memcpy(memory+N*M+sizeof(layer)+N*sizeof(int)+M*sizeof(int)+(N+M-1)*sizeof(int),curHdNum,(N+M-1)*sizeof(int));rnrn cout<<"1"<
请问为什么无法创建线程
代码如下: rnprocedure test; rnbegin rn showmessage('OK'); rnend; rn rnprocedure TForm1.Button1Click(Sender: TObject); rnvar rn hthread:thandle; rn thid:dword; rnbegin rn hthread:=beginthread(nil,0,@test,nil,0,thid); rn if hthread=0 then rn showmessage('Failed'); rnend; rn但在点button1的时候报错说project2.exe raised exception class EInvalidOperation with message 'Canvas does not allow drawing'. Process stopped.Use step or Run to coninue。 rn请问这是什么原因呢? rn而且好像我每次重新打开这个工程并运行的时候说可以的,但第二次又不行了,请问该如何解决呢?谢谢 rn
java创建线程
线程 线程是隶属于操作系统的概念,是程序执行中的单个顺序流程。 进程是一个执行中的程序,是操作系统对其资源(内存和CPU时间等)进行分配的基本单位,每个进程都有自己独立的一块内存空间、一组系统资源,其内部数据和状态都是完全独立的。 多线程则是指一个进程中可以同时运行多个不同的线程,执行不同的任务。多线程意味着一个程序的多行语句看上去几乎同时执行。 线程与进程的不同点:同类的多个线程共享一个
Java创建线程
前言Java提供了两种线程的创建方法,继承Thread类和实现Runable接口,然后再调用start()方法启动即可。 一. 继承Thread类:public class MyThread extends Thread { public void run(){ //做操作 } } 启动线程:调用线程start()方法: new MyThread().sta
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件