在构造函数中设置Thread的名称

时间:2017-03-16 10:29:19

标签: java multithreading constructor

哪种方法更合适:通过调用TextView table_data1 = (TextView ) findViewById(R.id.yourTextViewId); 或调用super(name)在ctor中设置主题名称?

setName(name)

在ctor中调用class MyThread extends Thread{ MyThread(String name){ // super(name); // which one is preferable? // setName(name); } public void run(){ /* business logic */ } } 是否涉及副作用?我问的原因是,大多数教程都使用setName(),但我记得在YouTube上观看一个视频,其中大学教授总是将super(name)放在ctor ...

1 个答案:

答案 0 :(得分:2)

没有什么重大区别,除非您在线程实例化后无法调用- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSArray *numberOfWords = [self.textField.text componentsSeparatedByString:@","]; if([numberOfWords count] > 7) { if ([string isEqualToString:@""]) { return YES; } else { return NO; } } else { return YES; } } ,如果线程的状态为NEW或该线程的access privileges已更改。简而言之,最好在Thread实例化期间设置名称以避免意外。