簡介
每個線程執行時都具有一定的優先順序,對於UI線程的優先順序約為0.75,對於新建立的子線程的預設優先順序為0.5,對於優先順序高的則會獲得較高的執行的機會,為大家介紹一下怎樣改變線程的優先順序 程式說明
建立一個sing view application,只需要修改程式委託類,其它不需要進行修改,建立了兩個線程,使用thread.threadPriority方法改變了線程的優先順序,但是在改變優先順序之前輸出了線程的優先順序,run方法作為線程的執行體
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"線程UI的優先順序為:%g",[NSThread threadPriority]); NSThread *thread1=[[NSThread alloc]initWithTarget:self selector:@selector(run) object:nil]; thread1.name=@"線程A"; NSLog(@"線程的優先順序A為:%g",thread1.threadPriority); thread1.threadPriority=0.0; NSThread *thread2=[[NSThread alloc]initWithTarget:self selector:@selector(run) object:nil]; thread2.name=@"線程B"; NSLog(@"線程的優先順序B為:%g",thread2.threadPriority); thread2.threadPriority=1.0; [thread1 start]; [thread2 start]; for (int i=0; i<100; i++) { NSLog(@"-----%@------%d",[NSThread currentThread],i); }}-(void)run{ for (int i=0; i<100; i++) { NSLog(@"-----%@------%d",[NSThread currentThread].name,i); }}@end
結果顯示及說明