ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Referência de fonte: APPS/THREADS/COUNT.CC

Referência de fonte: APPS/THREADS/COUNT.CC

Registro determinístico da fonte. O conteúdo completo do arquivo é reproduzido abaixo; esta página não substitui a interpretação arquitetural dos capítulos autorais.

Identidade do arquivo

Campo Valor
Path APPS/THREADS/COUNT.CC
Lines 31
Bytes 442
SHA-256 9c59c781b031c39c4e172c0a9daa3389e5ad60bf5eef789db2585a87de911617
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
4 worker
15 main

Fonte completa

O bloco seguinte é o arquivo textual integral na revisão indicada. Não há elisão, abreviação ou paráfrase.

int g_n;
int g_lock;

void worker(int arg) {
  int i;
  i = 0;
  while (i < 1000) {
    mtx_lock(g_lock);
    g_n = g_n + 1;
    mtx_unlock(g_lock);
    i = i + 1;
  }
}

void main() {
  int id;
  int seen;
  g_n = 0;
  g_lock = 1;
  id = thrd_create(worker, 0);
  seen = 0;
  while (seen < 1000) {
    mtx_lock(g_lock);
    seen = g_n;
    mtx_unlock(g_lock);
  }
  thrd_join(id);
  viewport(160, 80);
  text(8, 8, "threads", 0x00FFFFFF);
}

Papel deste registro

O atlas garante rastreabilidade arquivo-a-arquivo. Responsabilidade, invariantes, ownership, concorrência, segurança, desempenho e interação entre subsistemas pertencem aos capítulos autorais e devem citar este arquivo quando aplicável.

Registro do documento ID: source-9c59c781b031c39c Reviewed source: da3df29cb397 Class: generated-source-reference