首页>>百科常识

Linux或Unix下怎样修改系统时间

今天宠物迷的小编给各位宠物饲养爱好者分享如何设置线程优先级的宠物知识,其中也会对Linux或Unix下怎样修改系统时间进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!

Linux或Unix下怎样修改系统时间

可以使用date命令。date用于打印或设置系统日期和时间。
设置系统时间需要root权限。用法示例:
设置系统日期成2015年08月13日,这样会把具体时间设置清空成00:00:00
$ sudo date -s 20150813
设置系统时间为12:23:23
$ sudo date -s 12:23:23
同时设置日期和时间
$ sudo date -s "20150813 12:12:23″
注意:由于日期和时间之间有空格,所以必须用引号引起来,否则命令会报错。
上述修改只是修改了linux的系统时间,CMOS中的时间可能还没有改变,所以为了保险,需要使用 clock -w 把当前系统时间写入到CMOS中。
系统时间和CMOS时间的关系。系统时间是由linux操作系统来维护的;CMOS时间是CMOS芯片保存的时间。系统启动时,操作系统将从CMOS读出时间记录为系统时间,同时操作系统也会自动每隔一段时间将系统时间写入CMOS中。如果使用date命令修改系统时间后马上重启电脑,操作系统还没有将系统时间同步到CMOS,这样开机后就还是没有修改前的时间了,所以为了保险起见,最还还是手动使用命令
clock 将系统时间同步到CMOS中。

Linux或Unix下怎样修改系统时间

怎么设置进程优先级?

3、设置进程优先级

在Windows中每一个程序都有一个进程和进程号,而且它们之间有优先级别的差异。一般用户想更改它们的默认优先级别,那简直是势比登天!不过,有一任务管理器,就觉得易如反掌了!首先在“应用程序”项目中选择欲设置优先级的程序,然后右击,选择“转到进程”命令(如图2),此时在进程选项窗口中相应进程会被选中,右击,选择“设置优先级”命令,并在滑出的子菜单中自由设置吧(如图3)!一切都由您自己说了算!当然,我们也可以选择“终止进程”命令来结束这个进程。不过,终止进程时要小心。如果结束应用程序,您将丢失未保存的数据。如果结束系统服务,系统的某些部分可能无**常工作。

java 如何设置线程的优先级

public class MyThread1 extends Thread{MyThread1(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class MyThread2 extends Thread{MyThread2(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class Test {public static void main(String[] args) {MyThread1 t1 = new MyThread1("t1");MyThread1 t2 = new MyThread1("t2");t1.setPriority(Thread.NORM_PRIORITY + 3);t1.start();t2.start();}}

如何调整线程优先级

Thread类中
setPriority(int newPriority)

thread有三个常量

MAX_PRIORITY 线程可以具有的最高优先级。
MIN_PRIORITY 线程可以具有的最低优先级。
NORM_PRIORITY 分配给线程的默认优先级。

java 如何设置线程的优先级

public class MyThread1 extends Thread{MyThread1(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class MyThread2 extends Thread{MyThread2(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class Test {public static void main(String[] args) {MyThread1 t1 = new MyThread1("t1");MyThread1 t2 = new MyThread1("t2");t1.setPriority(Thread.NORM_PRIORITY + 3);t1.start();t2.start();}}

如何在linux/unix中设置线程的优先级

我们使用int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);
来创建线程,但是如何设置线程的优先级呢?
在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了
int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);函数来获取所
使用的调度策略,它们是:SCHED_FIFO, SCHED_RR 和 SCHED_OTHER。
我们可以使用
int sched_get_priority_max(int policy);
int sched_get_priority_min(int policy);
来获取线程线程可是设置的最大和最小的优先级值,如果调用成功就返回最大和最小的优先级值,否则返回-1。
从我现在运行的linux系统中,我使用下列程序(程序见附录)获取了对应三种调度策略中的最大和最小优先级:
policy = SCHED_OTHER
Show current configuration of priority
max_priority = 0
min_priority = 0
Show SCHED_FIFO of priority
max_priority = 99
min_priority = 1
Show SCHED_RR of priority
max_priority = 99
min_priority = 1
Show priority of current thread
priority = 0
Set thread policy
Set SCHED_FIFO policy
policy = SCHED_FIFO
Set SCHED_RR policy
policy = SCHED_RR
Restore current policy
policy = SCHED_OTHER
我们可以看到
SCHED_OTHER是不支持优先级使用的,而SCHED_FIFO和SCHED_RR支持优先级的使用,他们分别为1和99,数值越大优先级越高。 从上面的结果我们可以看出,如果程序控制线程的优先级,一般是用pthread_attr_getschedpolicy来获取系统使用的调度策略,如果是SCHED_OTHER的话,表明当前策略不支持线程优先级的使用,否则可以。当然所设定的优先级范围必须在最大和最小值之间。我们可以通过sched_get_priority_max和sched_get_priority_min来获取。
可能网友会问,是否我们可以通过int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);来设定自己所需的调度策略呢?我觉得是完全可以的(有些系统需要定义_POSIX_THREAD_PRIORITY_SCHEDULING),只要系统实现了对应的调用策略。
说了半天,我们还没有说,在系统允许使用线程优先级别的时候,如何设置优先级别呢?
int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param);
int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param);
上面两个函数分别用于设置线程的优先级,struct sched_param的定义如下
struct sched_param
{
int __sched_priority; //所要设定的线程优先级
};
例:创建优先级为10的线程
pthread_attr_t attr;
struct sched_param param;
pthread_attr_init(&attr);
pthread_attr_setschedpolicy(&attr, SCHED_RR);
param.sched_priority = 10;
pthread_attr_setschedparam(&attr, &param);
pthread_create(xxx , &attr , xxx , xxx);
pthread_attr_destroy(&attr);

附:使用的测试程序:
#include
#include
#include
#include
using namespace std;
static int get_thread_policy( pthread_attr_t &attr )
{
int policy;
int rs = pthread_attr_getschedpolicy( &attr, &policy );
assert( rs == 0 );
switch ( policy )
{
case SCHED_FIFO:
cout << "policy = SCHED_FIFO" << endl;
break;
case SCHED_RR:
cout << "policy = SCHED_RR" << endl;
break;
case SCHED_OTHER:
cout << "policy = SCHED_OTHER" << endl;
break;
default:
cout << "policy = UNKNOWN" << endl;
break;
}
return policy;
}
static void show_thread_priority( pthread_attr_t &attr, int policy )
{
int priority = sched_get_priority_max( policy );
assert( priority != -1 );
cout << "max_priority = " << priority << endl;
priority = sched_get_priority_min( policy );
assert( priority != -1 );
cout << "min_priority = " << priority << endl;
}
static int get_thread_priority( pthread_attr_t &attr )
{
struct sched_param param;
int rs = pthread_attr_getschedparam( &attr, &param );
assert( rs == 0 );
cout << "priority = " << param.__sched_priority << endl;
return param.__sched_priority;
}
static void set_thread_policy( pthread_attr_t &attr, int policy )
{
int rs = pthread_attr_setschedpolicy( &attr, policy );
assert( rs == 0 );
get_thread_policy( attr );
}
int main( void )
{
pthread_attr_t attr;
struct sched_param sched;
int rs;
rs = pthread_attr_init( &attr );
assert( rs == 0 );
int policy = get_thread_policy( attr );
cout << "Show current configuration of priority" << endl;
show_thread_priority( attr, policy );
cout << "Show SCHED_FIFO of priority" << endl;
show_thread_priority( attr, SCHED_FIFO );
cout << "Show SCHED_RR of priority" << endl;
show_thread_priority( attr, SCHED_RR );
cout << "Show priority of current thread" << endl;
int priority = get_thread_priority( attr );
cout << "Set thread policy" << endl;
cout << "Set SCHED_FIFO policy" << endl;
set_thread_policy( attr, SCHED_FIFO );
cout << "Set SCHED_RR policy" << endl;
set_thread_policy( attr, SCHED_RR );
cout << "Restore current policy" << endl;
set_thread_policy( attr, policy );

rs = pthread_attr_destroy( &attr );
assert( rs == 0 );
return 0;
}

编译命令:
#g++ pthread_priority3.c -o pthread_priority3 -lpthread

多个AsyncTask启动,怎么控制优先级

设置进程优先级

在Windows中每一个程序都有一个进程和进程号,
而且它们之间有优先级别的差异。一般用户想更改它们的默认优先级别,
那简直是势比登天!不过,有一任务管理器,就觉得易如反掌了!
首先在“应用程序”项目中选择欲设置优先级的程序,然后右击,
选择“转到进程”命令(如图2),此时在进程选项窗口中相应进程会被选中,右击,
选择“设置优先级”命令,并在滑出的子菜单中自由设置吧(如图3)!一切都由您自己说了算!当然,我们也可以选择“终止进程”命令来结束这个进程。不过,终止进程时要小心。如果结束应用程序,您将丢失未保存的数据。如果结束系统服务,系统的某些部分可能无**常工作。

java 如何设置线程的优先级

public class MyThread1 extends Thread{MyThread1(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class MyThread2 extends Thread{MyThread2(String name){super(name);}@Overridepublic void run() {for(int i = 0; i < 10000 ; i++){System.out.println(getName()+": "+i);}}}public class Test {public static void main(String[] args) {MyThread1 t1 = new MyThread1("t1");MyThread1 t2 = new MyThread1("t2");t1.setPriority(Thread.NORM_PRIORITY + 3);t1.start();t2.start();}}

本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“Linux或Unix下怎样修改系统时间

标签:宠物爱好