3

C のスレッドが使用するメモリを減らすにはどうすればよいですか? スレッドは約 8 ~ 10 MB のメモリを使用しますが、このメモリを削減する方法はありますか?

4

2 に答える 2

6

はい、スレッドスタックのサイズを設定できます。

pthread_attr_t attribute;
pthread_t thread;
pthread_attr_init(&attribute);
pthread_attr_setstacksize(&attribute,size); // size may be defined by u as 1024,2048,etc
pthread_create(&thread,&attribute,fun,0);

................................................................

void *fun(void *arg)
{
      ....
}
于 2013-04-25T11:03:07.150 に答える
2

すでに回答したように、アプリケーションで pthread 属性を使用できます。

ただし、ulimit コマンドを使用して、現在のシェルで起動されたアプリケーションに制限を設定することもできます。

  • ulimit -s: 現在の制限を kiB で表示します
  • ulimit -s 1024: スタックを 1 MiB に制限します
于 2013-04-25T14:08:47.770 に答える